算法日常・每日刷题--<二分查找>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;
    }
};
相关推荐
木井巳35 分钟前
【BFS/DFS 解决 FloodFill 算法】太平洋大西洋水流问题
java·算法·leetcode·深度优先·广度优先·宽度优先·推荐算法
心抵鹊1 小时前
归并排序之翻转对(hard)
数据结构·算法
白山编程大哥1 小时前
Java 集合算法:从排序、查找到底层原理的实战指南
java·python·算法
shehuiyuelaiyuehao1 小时前
算法34,位运算符操作,总结
算法
Navigator_Z1 小时前
LeetCode //C - 1224. Maximum Equal Frequency
c语言·算法·leetcode
Navigator_Z2 小时前
LeetCode //C++ - 1226. The Dining Philosophers
c语言·算法·leetcode
FOORIR2 小时前
3D视觉+AI客流系统怎么做:从Sensor Pipeline到数据事件引擎
算法
Omics Pro4 小时前
Arc研究所Cell|全新虚拟细胞官方基准评测框架
大数据·人工智能·深度学习·算法·机器学习
CoderYanger6 小时前
A.每日一题:1140. 石子游戏 II
java·程序人生·算法·leetcode·游戏·职场和发展·深度优先
小雨笙笙6 小时前
机器学习:评估模型与选择
人工智能·算法·机器学习