Level 1 (day 7)
第一题
题目链接:https://leetcode.cn/problems/binary-search/
个人题解:最基础的二分
代码:
class Solution {
public:
int search(vector<int>& nums, int target) {
int l=0,r=nums.size()-1;
while(l<=r){
int mid=l+r>>1;
if(nums[mid]==target) return mid;
else if(nums[mid]<target) l=mid+1;
else r=mid-1;
}
return -1;
}
};
第二题
题目链接:https://leetcode.cn/problems/first-bad-version/
个人题解:二分,注意越界
代码:
class Solution {
public:
int firstBadVersion(int n) {
int l=1,r=n;
while(l<r){
int mid=l+(r-l)/2;
if(isBadVersion(mid)) r=mid;
else l=mid+1;
}
return l;
}
};