微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

34. Find First and Last Position of Element in Sorted Array

题目链接: https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array/

 

解题思路:

有序数组都用二分法,前后找。

 1 class Solution {
 2     public int[] searchRange(int[] nums,int target) {
 3         int [] result = new int[]{-1,-1};
 4         
 5         int mid;
 6         int start =0;
 7         int end = nums.length-1;
 8         if(nums.length==0||target<nums[0] || target>nums[end])
 9             return result;
10         //找最大
11         while(start<=end)
12         {
13             mid = start+(end-start)/2;
14             if(target==nums[mid])
15             {
16                 result[0] = mid;
17                 end = mid-1;
18             }
19             else if(target>nums[mid])
20             {
21                 start = mid+1;
22             }
23             else
24             {
25                 end = mid-1;
26             }
27         }
28         
29         start =0;
30         end = nums.length-1;
31         
32         //找最大
33         while(start<=end)
34         {
35             mid = start+(end-start)/2;
36             if(target==nums[mid])
37             {
38                 result[1] = mid;
39                 start = mid+1;
40             }
41             else if(target>nums[mid])
42             {
43                 start = mid+1;
44             }
45             else
46             {
47                 end = mid-1;
48             }
49         }
50         
51         return result;
52         
53         
54         
55     }
56 }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。