力扣-数组-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;
    }
};
相关推荐
j_xxx404_7 小时前
力扣--分治(归并排序)算法题I:排序数组,交易逆序对的总数
数据结构·c++·算法·leetcode·排序算法
sprite_雪碧7 小时前
排版类问题(机试高频)
c语言·数据结构·算法
暮冬-  Gentle°7 小时前
设计模式在C++中的实现
开发语言·c++·算法
2501_908329857 小时前
实时音频处理C++实现
开发语言·c++·算法
dapeng28707 小时前
移动语义与完美转发详解
开发语言·c++·算法
bbbb3657 小时前
算法工程中的可扩展性与分布式实现方案的技术7
算法
Shining05967 小时前
AI 编译器系列(六)《Stable Diffusion 在 InfiniTensor 推理框架中的适配与工程实践》
人工智能·算法·stable diffusion·大模型·图像生成·ai编译器·infinitensor
佩奇大王7 小时前
P159 摆动序列
java·开发语言·算法
weixin_537590457 小时前
《C程序设计语言》练习答案(练习1-7)
linux·c语言·算法
!停7 小时前
C++基础入门(缺省参数,函数重载,引用)
开发语言·c++·算法