力扣-数组-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;
    }
};
相关推荐
青山是哪个青山13 小时前
LeetCode 123:买卖股票的最佳时机 III
算法
Zane199414 小时前
写对二分查找有多难?Java集合框架的作者也曾栽在一行mid计算上
算法
Lokey86814 小时前
transformer结构
算法
罗斯83914 小时前
EMBER恶意软件基准数据集
人工智能·算法·安全·网络安全
0+11114 小时前
算法 --二分查找
c++·算法·leetcode
圣保罗的大教堂14 小时前
leetcode 1674. 使数组互补的最少操作次数 中等
leetcode
Omics Pro15 小时前
新型条件传输模型!虚拟细胞扰动预测
数据库·人工智能·算法·机器学习·自然语言处理
黄金龙PLUS15 小时前
5个800比特大状态置换算法的设计与分析
算法·网络安全·密码学·哈希算法·同态加密
政企项目老覃15 小时前
大模型 Agent 自主任务编排:电商客服地址解析从 12% 失败率到 2.1% 的落地复盘
人工智能·程序人生·算法
kukubuzai15 小时前
双指针系列二--末尾篇(3道题)
c++·算法·leetcode