力扣-数组-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;
    }
};
相关推荐
文丑颜不良啊15 小时前
LeetCode576~600题目解析
java·leetcode
lisw0515 小时前
分岔论揭示演化突变密码
开发语言·算法·数学建模
aqiu11111115 小时前
C++ TopK:使用 nth_element 快速求最小 K 个数(蓝桥杯 / LeetCode 可用)
算法
Suprman15 小时前
平面排版问题的数学建模与算法设计
算法·数学建模·排序算法·排版套料
FPGA信号处理15 小时前
【应用随机过程】:更新过程与马尔可夫链入门
算法·概率论
重生之小比特15 小时前
【算法拾光】二分查找|在排序数组中查找元素的第一个和最后一个位置 + 搜索旋转排序数组
数据结构·算法·排序算法
吴可可12315 小时前
DXF与AAMA格式转换模块推荐
算法
重生之小比特16 小时前
【算法拾光】二分查找|搜索旋转排序数组 + 寻找旋转排序数组中的最小值
算法
YukiRinLL16 小时前
查找与排序算法:复杂度、稳定性
数据结构·算法·排序算法
徐小夕1 天前
花了3个月,我们做了一款 AI 版的“飞书文档”
前端·算法·github