• C++基础算法---整数二分查找


    3、整数二分查找

    二分模板一共有两个,分别适用于不同情况。

    算法思路:

    1. 假设目标值在闭区间[1,r]中,每次将区间长度缩小一半,当l=r时,我们就找到了目标值
    • 版本1

    当我们将区间[1,r]划分成[1,mid][mid+1,r]时,其更新操作r = mid或者1 = mid + 1, 计算mid时不需要加1。

    int bsearch_1(int l ,int r)
    {
       while(l
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 版本2

    当我们将区间[1,r]划分成[1,mid-1][mid,r]时,其更新操作是r = mid-1或者1 = mid, 计算mid时需要加1。

    int bsearch_2(int l ,int r)
    {
       while(l
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
  • 相关阅读:
    Jenkins发布windows服务器jar
    【MyBatis-Plus】SpringBoot+MyBatis+MP & 通用CRUD
    牛客刷题系列之进阶版(组队竞赛,排序子序列,倒置字符串, 删除公共字符,修理牧场)
    【微信小程序】【AR】threejs-miniprogram 安装(76/100)
    redis分布式锁的实现
    CentosLinux 7 字符安装教程
    Powershell 7.x中UTF-8环境中文乱码解决办法
    论文写作格式
    windows terminal鼠标右键打开
    java运行以jar包的形式运行和tomcat运行的区别和联系?
  • 原文地址:https://blog.csdn.net/NITIQ/article/details/133994908