[1],0
-1
[3,2,1],1
2
class Solution { public: int search(int A[], int n, int target) { for(int i=0;i<n;i++) if(A[i]==target) return i; return -1; } };
class Solution { public: int search(int A[], int n, int target) { int first=0; int last=n-1; while(first<=last) { int mid=first+(last-first)/2; if(A[mid]==target) return mid; if(A[first]<=A[mid])//左边有序 { if(A[first]<=target&&target<A[mid]) last=mid-1; else first=mid+1; } else//右边有序 { if(A[mid]<target&&target<=A[last]) first=mid+1; else last=mid-1; } } return -1; } };
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题