力扣-数组-704 二分查找

解析

经典二分,重点在于左闭右闭区间约定好后,根据定义更新边界

代码

cpp 复制代码
class Solution {
public:
    int search(vector<int>& nums, int target) {
        int left = 0, right = nums.size() - 1;
        while(left <= right){
            int mid = (left + right) / 2;
            if(nums[mid] < target){
                left = mid + 1;
            }else if(nums[mid] > target){
                right = mid - 1;
            }else{
                return mid;
            }
        }
        return -1;
    }
};
相关推荐
weixin_4588726117 小时前
东华复试OJ二刷复盘2
算法
Charlie_lll17 小时前
力扣解题-637. 二叉树的层平均值
算法·leetcode
爱淋雨的男人17 小时前
自动驾驶感知相关算法
人工智能·算法·自动驾驶
wen__xvn17 小时前
模拟题刷题3
java·数据结构·算法
滴滴答滴答答18 小时前
机考刷题之 6 LeetCode 169 多数元素
算法·leetcode·职场和发展
圣保罗的大教堂18 小时前
leetcode 1980. 找出不同的二进制字符串 中等
leetcode
Neteen18 小时前
【数据结构-思维导图】第二章:线性表
数据结构·c++·算法
礼拜天没时间.18 小时前
力扣热题100实战 | 第25期:K个一组翻转链表——从两两交换到K路翻转的进阶之路
java·算法·leetcode·链表·递归·链表反转·k个一组翻转链表
Swift社区19 小时前
LeetCode 400 第 N 位数字
算法·leetcode·职场和发展
再难也得平19 小时前
力扣239. 滑动窗口最大值(Java解法)
算法·leetcode·职场和发展