classSolution{public:intsearch(vector<int>& nums,int target){//遍历数组// for(int i = 0; i < nums.size(); i++){// if(nums[i] == target){// return i;// }// }//二分法int left =0;int right = nums.size()-1;while(left <= right){int mid = left +(right - left)/2;if(nums[mid]== target){return mid;}elseif(nums[mid]> target){
right = mid -1;}elseif(nums[mid]<target){
left = mid +1;}}return-1;}};
278. 第一个错误的版本
// The API isBadVersion is defined for you.// bool isBadVersion(int version);classSolution{public:intfirstBadVersion(int n){int left =1, right = n;while(left < right){int mid = left +(right - left)/2;if(isBadVersion(mid)){
right = mid;}else{
left = mid +1;}}return left;}};
35. 搜索插入位置
classSolution{public:intsearchInsert(vector<int>& nums,int target){int left =0, right = nums.size()-1;while(left <= right){int mid = left +(right - left)/2;if(nums[mid]< target){
left = mid +1;}else{
right = mid -1;}}return left;}};