力扣-数组-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;
    }
};
相关推荐
CN-Dust9 小时前
【C++】while语句例题专题
数据结构·c++·算法
灵智实验室9 小时前
PX4位置速度估计技术详解(四):LPE 激光雷达高度融合的实现错误
算法·无人机·px 4
CQU_JIAKE9 小时前
【A】3742,3387,并查集
算法
gihigo19989 小时前
CHAN时延估计算法(二维/三维定位实现)
算法
freexyn10 小时前
Matlab自学笔记七十六:表达式的展开、因式分解、化简、合并同类项
笔记·算法·matlab
样例过了就是过了10 小时前
LeetCode热题 不同路径
c++·算法·leetcode·动态规划
dog25010 小时前
圆锥曲线和二次曲线
开发语言·网络·人工智能·算法·php
Wadli10 小时前
27.单调队列
算法
Navigator_Z11 小时前
LeetCode //C - 1031. Maximum Sum of Two Non-Overlapping Subarrays
c语言·算法·leetcode
Wect11 小时前
LeetCode 97. 交错字符串:动态规划详解
前端·算法·typescript