LeetCode 81. 搜索旋转排序数组 II
原题链接
中等
作者:
bruce
,
2021-01-29 21:18:25
,
所有人可见
,
阅读 276
class Solution {
public:
bool search(vector<int> &nums, int t)
{
if (nums.empty())
{
return false;
}
int l = 0, s = nums.size() - 1;
while (s > 0 && nums[s] == nums[0])
s--;
int r = s;
while (l < r)
{
int mid = (l + r + 1) >> 1;
if (nums[mid] >= nums[0])
l = mid;
else
r = mid - 1;
}
if (t>=nums[0])
l = 0;
else
l = l + 1, r = s;
while (l < r)
{
int mid = (l + r) >> 1;
if (nums[mid] >= t)
r = mid;
else
l = mid + 1;
}
return nums[r] == t;
}
};