力扣-数组-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;
    }
};
相关推荐
历程里程碑14 小时前
滑动窗口秒解LeetCode字母异位词
java·c语言·开发语言·数据结构·c++·算法·leetcode
ghie909014 小时前
使用直接节点积分法进行无网格法2D悬臂梁计算
算法
Helibo4414 小时前
2025年12月gesp3级题解
数据结构·c++·算法
p&f°14 小时前
垃圾回收两种算法
java·jvm·算法
点云SLAM14 小时前
点云配准算法之- GICP算法点云配准概率模型推导和最大似然求解(MLE)
算法·机器人·slam·点云配准·最大似然估计·点云数据处理·gicp算法
曹轲恒14 小时前
双栈实现队列/双队列实现栈
算法
AI科技星15 小时前
张祥前统一场论电荷定义方程分析报告
开发语言·经验分享·线性代数·算法·数学建模
Swift社区15 小时前
LeetCode 460 - LFU 缓存
算法·leetcode·缓存
程芯带你刷C语言简单算法题15 小时前
Day39~实现一个算法确定将一个二进制整数翻转为另一个二进制整数,需要翻转的位数
c语言·开发语言·学习·算法·c
zcbdandan15 小时前
JNA内存对齐导致的结构体数组传输错误
数据结构·算法