public class Solution { public int search(int[] A, int target) { int len = A.length; // binary search int l = 0; int r = len -1; while(l <= r){ int m = (l+r)/2; if(target == A[m]){ return m; } if(A[m] >= A[l]){ // lower is sorted ** do not forget "=" if(target >= A[l] && target < A[m]){ // 注意这边的等号 左边要包含等号 r = m-1; }else{ l = m+1; } } else { // higher is sorted if(target > A[m] && target <= A[r]){ // 注意这边的等号 右边要包含等号 l = m+1; }else { r = m-1; } } } return -1; } }
相关文章
- 12-02[leetcode]Remove Duplicates from Sorted Array II @ Python
- 12-02Convert Sorted Array to Binary Search Tree
- 12-02leetcode 26 Remove Duplicates from Sorted Array
- 12-02LeetCode 26 Remove Duplicates from Sorted Array
- 12-02leetcode专题训练 26. Remove Duplicates from Sorted Array
- 12-02【LeetCode记录帖】【4】Remove Duplicates from Sorted Array
- 12-02LeetCode 26. Remove Duplicates from Sorted Array
- 12-02[LeetCode] Merge Sorted Array
- 12-02LeetCode题解33.Search in Rotated Sorted Array
- 12-02[leetcode]80. Remove Duplicates from Sorted Array II有序数组去重(单个元素可出现两次)