[LeetCode]Search in Rotated Sorted Array
2013-06-01 09:45
344 查看
class Solution { //observation is the key, try to solve it by modifying binary search public: int search(int A[], int n, int target) { // Start typing your C/C++ solution below // DO NOT write int main() function int l = 0; int r = n-1; while (l <= r) { int mid = l+(r-l)/2; if(A[mid] == target) return mid; if (A[l] <= A[mid])//it is sorted in [l,mid], "=" contains an edge case:3, 1 { if(A[mid] > target && A[l] <= target) r = mid-1; else l = mid+1; } else//[mid,r] must be sorted, if [l,mid] not sorted { if(A[mid] < target && A[r] >= target) l = mid+1; else r = mid-1; } } return -1; } };
second time
class Solution { public: int search(int A[], int n, int target) { // Start typing your C/C++ solution below // DO NOT write int main() function int left = 0; int right = n-1; while(left < right) { int mid = left+(right-left)/2; if(A[mid] >= A[left])//left side sorted, including mid, { if(A[left] <= target && target <= A[mid]) right = mid; else left = mid+1; } else//right side sorted { if(A[mid] <= target && target <= A[right]) left = mid; else right = mid-1; } } if(right >= 0 && right < n && A[right] == target) return right; else return -1; } };
相关文章推荐
- [leetcode] Search in Rotated Sorted Array
- LeetCode | Search in Rotated Sorted Array
- [leetcode] 81.Search in Rotated Sorted Array II
- LeetCode: Search in Rotated Sorted Array
- 【leetcode】Search in Rotated Sorted Array II
- LeetCode 33 Search in Rotated Sorted Array(循环有序数组中进行查找操作)
- LeetCode-Search in Rotated Sorted Array(在反转数组中的关键字)
- leetcode: Search in Rotated Sorted Array
- LeetCode Search in Rotated Sorted Array
- [LeetCode] Search in Rotated Sorted Array
- 开始刷leetcode day42:Search in Rotated Sorted Array
- 【LeetCode】Search in Rotated Sorted Array && Search in Rotated Sorted Array II
- LeetCode 33: Search in Rotated Sorted Array
- LeetCode 33 Search in Rotated Sorted Array
- LeetCode: 81. Search in Rotated Sorted Array II
- 【leetcode】Search in Rotated Sorted Array
- LeetCode第33题之 Search in Rotated Sorted Array
- [LeetCode] Search in Rotated Sorted Array 解题报告
- leetcode 33.Search in Rotated Sorted Array
- leetCode 81.Search in Rotated Sorted Array II (旋转数组的搜索II) 解题思路和方法