LeetCode - Refresh - Search in Rotated Sorted Array
2015-03-23 13:05
288 查看
Two condition need to equal:
1. A[mid] >= A[start]. Because mid = (start + end)/2; it shifts left
2. A[end] >= target. Since did not check A[end] now.
1. A[mid] >= A[start]. Because mid = (start + end)/2; it shifts left
2. A[end] >= target. Since did not check A[end] now.
class Solution { public: int search(int A[], int n, int target) { int start = 0, end = n-1, mid = 0; while (start <= end) { mid = (start + end)/2; if (A[mid] == target) return mid; if (A[mid] >= A[start]) { if (A[start] > target) { start = mid+1; } else if (A[mid] > target) { end = mid - 1; } else start = mid+1; } else { if (A[mid] > target) end = mid-1; else if (A[end] >= target) start = mid+1; else end = mid-1; } } return -1; } };
相关文章推荐
- LeetCode - Refresh - Search in Rotated Sorted Array II
- #leetcode#Search in Rotated Sorted Array II
- LeetCode 81. Search in Rotated Sorted Array II
- leetcode 33. Search in Rotated Sorted Array (复杂二分查找)
- leetcode 97: Search in Rotated Sorted Array
- Leetcode: Search in Rotated Sorted Array & II
- Leetcode-Search in Rotated Sorted Array&&Search in Rotated Sorted ArrayII
- leetcode - Search in Rotated Sorted Array II
- LeetCode - 81. Search in Rotated Sorted Array II
- leetcode-81-Search in Rotated Sorted Array II 查找
- [LeetCode] Search in Rotated Sorted Array
- 【leetcode】【81】Search in Rotated Sorted Array II
- leetcode_Search in Rotated Sorted Array II
- LeetCode:Search in Rotated Sorted Array I II
- LeetCode-Search in Rotated Sorted Array II-在旋转数组中搜索-二分查找
- LeetCode Search in Rotated Sorted Array
- leetcode--Search in Rotated Sorted Array II
- [leetcode]81. Search in Rotated Sorted Array II
- [LeetCode] Search in Rotated Sorted Array
- leetcode 033 Search in Rotated Sorted Array