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;
    }
};
posted @ 2022-06-29 11:01  黑VS白-清墨  阅读(32)  评论(0)    收藏  举报