算法日常・每日刷题--<二分查找>1

704. 二分查找 - 力扣(LeetCode)https://leetcode.cn/problems/binary-search/description/二分查找的逻辑

在数组有序的情况下,将中间值与目标值进行对比

中间值>目标值,就到中间的左侧区域找

中间值<目标值,就到中间的右侧区域找

中间值=目标值,就返回,

如果范围缩小到没有区域(left>right),就结束返回失败

cpp 复制代码
class Solution {
public:
    int search(vector<int>& nums, int target) {
        int n=nums.size();
        int left=0,right=n-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;
    }
};
相关推荐
Turbo正则22 分钟前
群论学习入门 | 群论与李群的基本概念
人工智能·学习·算法·抽象代数
sugar__salt31 分钟前
手撕字符串算法:反转、回文、验证回文 Ⅱ 完整拆解
javascript·算法·面试·职场和发展
To_OC36 分钟前
从一行报错开始,把字符串反转、回文算法连带着包装类一起捋明白
javascript·算法·api
LCG米40 分钟前
机器人控制系统与运动规划:从RRT算法到ROS move_base实战
算法·机器人
QiLinkOS1 小时前
第三视觉理解徐玉生与他的商业活动(26)
大数据·c++·人工智能·算法·开源协议
手写码匠1 小时前
手写 LLM 结构化输出引擎 —— 从 JSON Schema 约束到类型安全的数据提取
人工智能·深度学习·算法·aigc
zhiSiBuYu05171 小时前
重排序(Rerank)提升检索准确率实战指南
开发语言·python·算法
月疯1 小时前
华为手环的部分功能
算法
郭梧悠2 小时前
算法:有效的括号
python·算法·leetcode
atunet2 小时前
关于算法设计模式的演化与编程范式变迁的技术7
算法·设计模式