LeetCode 81. Search in Rotated Sorted Array II
来源:互联网 发布:卖家被淘宝封号前预兆 编辑:程序博客网 时间:2024/06/18 17:10
和LeetCode 32. Search in Rotated Sorted Array类似,分治。
数组任意的一次向右滚动(一个单位),考虑最后两个元素A[n-1], A[n-2].
若A[n-1]事实上为最初的A[0], 那么这次滚动后,数组将回到最初的状态,A[0'] < a[(n-1)'], 成为升序数组,二分搜索即可;
若A[n-1]并非最初的A[0], 那么必有A[n-2] <= A[n-1], 滚动后,A[n-1]变成A[0], A[0'] >= A[(n-1)'], 此时应当将数组分成两半,二分递归。
1) 若num[0] < num[n-1], 那么整个数组为升序,二分搜索;
2) 反之,必有一点k, 使得num[0, 1, ..., k]为升序,num[k+1, k+2, ..., n-1]为升序。此时以(left+right)/2为中点,把数组分成两部分,继续递归求解。
class Solution {public: bool search(int A[], int n, int target) { return find(A, 0, n-1, target); }private:bool find(int a[], int l, int r, int target){if (l > r){return false;} else if (l == r){return a[l] == target;}if (a[l] < a[r]){while (l < r){int mid = (l+r) >> 1;if (a[mid] < target){l = mid + 1;} else if (a[mid] > target){r = mid - 1;} else {return true;}}}return find(a, l, (l+r)>>1, target) || find(a, ((l+r)>>1)+1, r, target);}};
0 0
- leetcode题解-33. Search in Rotated Sorted Array && 81. Search in Rotated Sorted Array II
- LeetCode 33. Search in Rotated Sorted Array && 81. Search in Rotated Sorted Array II
- LeetCode: Search in Rotated Sorted Array II
- LeetCode Search in Rotated Sorted Array II
- LeetCode : Search in Rotated Sorted Array II
- [LeetCode] Search in Rotated Sorted Array II
- [Leetcode] Search in Rotated Sorted Array II
- [leetcode] Search in Rotated Sorted Array II
- [LeetCode]Search in Rotated Sorted Array II
- [leetcode] Search in Rotated Sorted Array II
- LeetCode-Search in Rotated Sorted Array II
- LeetCode - Search in Rotated Sorted Array II
- 【Leetcode】Search in Rotated Sorted Array II
- Leetcode: Search in Rotated Sorted Array II
- 【leetcode】Search in Rotated Sorted Array II
- leetcode Search in Rotated Sorted Array II
- Leetcode: Search in Rotated Sorted Array II
- [LeetCode] Search in Rotated Sorted Array II
- ELMAH and API controller in MVC4 not logging errors
- 映像记忆表3
- 面试题
- 2014年辛星php框架编写之starphp之前言
- 实现Web应用的整体安全
- LeetCode 81. Search in Rotated Sorted Array II
- LeetCode 82. Remove Duplicates from Sorted List
- 8.1 Subsets
- JavaScript访问CSS属性多种方法
- SQL Server的链接服务器技术小结
- 导入 Mysql 示例数据库 employees
- Android数据备份
- 类的赋值运算符重载和拷贝构造函数
- 用PHP去实现数据库查询结果缓存