class Solution {
public:
bool search(int A[], int n, int target) {
// Note: The Solution object is instantiated only once and is reused by each test case.
int sta=0,end=n-1;
while(sta<=end)//注意等号
{
int mid=(sta+end)/2;
if(A[sta]<target&&target<A[mid])//二分
end=mid-1;
else if(A[mid]<target&&target<A[end])//二分
sta=mid+1;
else//不能明确缩小范围时,线性
{
if(A[sta]!=target)
sta++;
else
return true;
if(A[end]!=target)
end--;
else
return true;
}
}
return false;
}
};
【leetcode】Search in Rotated Sorted Array II
最新推荐文章于 2021-12-18 23:10:30 发布