704.Binary Search
class Solution {
public:
int search(vector<int>& nums, int target) {
int st=0;
int ed=nums.size()-1;
if(nums[st]==target) return st;
if(nums[ed]==target) return ed;
int mid;
while(st <ed)
{
mid=(st+ed)>>1;
if(nums[mid]==target) return mid;
else if(nums[mid] >target) {
if(mid <ed)
ed=mid;
else return -1;
}
else
{
if(mid>st)
st=mid;
else return -1;
}
// cout<< st <<" "<< ed<<endl;
}
return -1;
}
};Last updated