Search in Rotated Sorted Array II问题及解法
来源:互联网 发布:gta5捏脸数据吴彦祖 编辑:程序博客网 时间:2024/06/02 05:31
问题描述:
Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.
(i.e., 0 1 2 4 5 6 7
might become 4 5 6 7 0 1 2
).
Write a function to determine if a given target is in the array.
The array may contain duplicates.
问题分析:
对于查找一类问题,先考虑是否可以利用二分查找法。对于该题目,我们可以做一些适当的转化,使得查找可以遵循二分查找算法。
过程详见代码:
class Solution {public: bool search(vector<int>& nums, int target) { if (nums.empty()) return false;int left = 0;int right = nums.size() - 1;int mid;while (left < right){mid = left + (right - left) / 2;if (nums[mid] == target) return true;if (nums[mid] < nums[right]){if (nums[mid] < target && target <= nums[right]) left = mid + 1;else right = mid;}else if (nums[mid] > nums[right]){if (nums[mid] > target && target >= nums[left]) right = mid;else left = mid + 1;}else right--;}return nums[left] == target; }};
阅读全文
0 0
- Search in Rotated Sorted Array II问题及解法
- Search in Rotated Sorted Array问题及解法
- Leetcode之Search in Rotated Sorted Array II 问题
- Find Minimum in Rotated Sorted Array问题及解法
- LeetCode: Search in Rotated Sorted Array II
- 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
- Search in Rotated Sorted Array II
- [leetcode] Search in Rotated Sorted Array II
- [LeetCode]Search in Rotated Sorted Array II
- Search in Rotated Sorted Array II
- Search in Rotated Sorted Array II
- Search in Rotated Sorted Array II
- Search in Rotated Sorted Array II
- [leetcode] Search in Rotated Sorted Array II
- C++函数的重载、内联和默认参数
- 【PAT】【Advanced Level】1035. Password (20)
- c++调用tensorflow教程
- 二十八天
- oracle彻底卸载
- Search in Rotated Sorted Array II问题及解法
- 【行为分析】(四)Introduce to ga.js(Legacy)
- Delphi7小工具,ParaDox 乱码处理
- vb.net 教程 3-6 窗体编程 打印
- C++类(持续更新中。。。)
- 数据结构基础【01】基本概念
- UVa 1587 (运算符重载)
- 使用lorem在HTML中生成随机文本
- [USACO3.2]阶乘 Factorials