81. Search in Rotated Sorted Array II
2018-03-23 19:50
267 查看
该题与Search in Rotated Sorted Array 同理,由于存在重复元素,当mid处与边缘right位置处的值相同时,若边缘位置不为target,则边缘right左移一位:class Solution {
public:
bool search(vector<int>& nums, int target) {
int left=0,right=nums.size()-1;
int mid=(right+left)/2;
while(left<=right)
{
if(nums[mid]==target/*||nums[left]==target||nums[right]==target*/)
return 1;
else
{
if(nums[mid]<nums[right]) //right is ordered
{
if(target>nums[mid]&&target<=nums[right])
{
left=mid+1;
}
else
{
right=mid-1;
}
}
else //left is ordered
{
if(nums[left]<nums[mid])
{
if(target>=nums[left]&&target<nums[mid])
right=mid-1;
else
left=mid+1;
}
else
{
if(nums[right]==target)
return 1;
else
right--;
}
}
}
mid =(left+right)/2;
}
return 0;
}
};
public:
bool search(vector<int>& nums, int target) {
int left=0,right=nums.size()-1;
int mid=(right+left)/2;
while(left<=right)
{
if(nums[mid]==target/*||nums[left]==target||nums[right]==target*/)
return 1;
else
{
if(nums[mid]<nums[right]) //right is ordered
{
if(target>nums[mid]&&target<=nums[right])
{
left=mid+1;
}
else
{
right=mid-1;
}
}
else //left is ordered
{
if(nums[left]<nums[mid])
{
if(target>=nums[left]&&target<nums[mid])
right=mid-1;
else
left=mid+1;
}
else
{
if(nums[right]==target)
return 1;
else
right--;
}
}
}
mid =(left+right)/2;
}
return 0;
}
};
相关文章推荐
- 81 Search in Rotated Sorted Array II
- 81. Search in Rotated Sorted Array II
- Middle-题目48:81. Search in Rotated Sorted Array II
- 81. Search in Rotated Sorted Array II
- 81. Search in Rotated Sorted Array II
- 81. Search in Rotated Sorted Array II
- leetcode——81——Search in Rotated Sorted Array II
- 81 Search in Rotated Sorted Array II 【优化版,从right开始】
- leetcode-81-Search in Rotated Sorted Array II 查找
- 【leetcode】【81】Search in Rotated Sorted Array II
- 81. Search in Rotated Sorted Array II
- 81. Search in Rotated Sorted Array II
- LeetCode 81. Search in Rotated Sorted Array II
- LeetCode(33)(81) Search in Rotated Sorted Array I II
- Leetcode 81. Search in Rotated Sorted Array II 旋转数组查询2 解题报告
- leetcode 81: Search in Rotated Sorted Array II
- 81. Search in Rotated Sorted Array II
- leetcode-81. Search in Rotated Sorted Array II
- LeetCode --- 81. Search in Rotated Sorted Array II
- 【leetcode】Array——Search in Rotated Sorted Array II(81)