public class SearchinRotatedSortedArray {
public static int search(int A[], int n, int target)
{
int first=0;
int last=n;
int mid=0;
while(first!=last)
{
mid=(first+last)/2;
if(A[mid]==target)
return mid;
if(A[first]<=A[mid])
{
if(A[first]<=target && target<A[mid])
last=mid;
else
first=mid+1;
}
else
if(A[mid]<target && target<=A[last-1])
first=mid+1;
else
last=mid;
}
return -1;
}
}
2015年7月9日星期四
Search in Rotated Sorted Array
好无聊啊,只有刷题玩玩,让大脑充实一些。有时候刷题不要死脑经去搞懂最基本的东西,能用就行。其实这道题的核心就是找target, 如果target不在搜索区间内就换。
订阅:
评论 (Atom)