Follow
up for "Search in Rotated Sorted Array":
What
if duplicates are
allowed?
Would
this affect the run-time complexity? How and why?
Write
a function to determine if a given target is in the array.
class Solution {
public:
bool search(
int A[],
int n,
int target) {
if(n==
0)
return false;
return binary(A,
0,n-
1,target);
}
bool binary(
int A[],
int x1,
int x2,
int target)
{
if(x1>x2)
return false;
int m=(x1+x2)/
2;
if(A[m]==target)
return true;
if(A[x1]<A[x2])
{
if(A[m]<target)
return binary(A,m+
1,x2,target);
else return binary(A,x1,m-
1,target);
}
else {
return binary(A,x1,m-
1,target) || binary(A,m+
1,x2,target);
}
}
};
Search in Rotated Sorted Array II,布布扣,bubuko.com
Search in Rotated Sorted Array II
原文:http://www.cnblogs.com/erictanghu/p/3759515.html