当前位置: 首页 > news >正文

acwing算法基础之基础算法--整数二分算法

目录

  • 1 知识点
  • 2 代码模板

1 知识点

有单调性一定可以二分,但在某些情况下,不具有单调性也可以二分。
单调性也可以抽象成某类性质,分界点左边不满足此性质,而右边满足此性质。当然也可以分界点左边满足此性质,而右边不满足此性质。
注意存在边界情况,容易进入死循环,此时需要考虑[0,1]的case去设置mid。

2 代码模板

//有序向量nums
//请找到第一个大于等于x的下标,相当于lower_bound()
int l = 0, r = nums.size() - 1;
while (l < r) {int mid = l + r >> 1;if (nums[mid] >= x) { //找到第一个大于等于x的下标,相当于lower_bound()r = mid;} else {l = mid + 1;}
}
if (nums[l] == x) {cout << "pass" << endl;
} else {cout << "failed" << endl;
}
//有序向量nums
//请找到最后一个小于等于x的下标
int l = 0, r = nums.size() - 1;
while (l <= r) {int mid = l + r + 1 >> 1;if (nums[mid] <= x) {l = mid;} else {r = mid - 1;}
}
if (nums[l] == x) {cout << "pass" << endl;
} else {cout << "failed" << endl;
}
http://www.lryc.cn/news/181184.html

相关文章:

  • windows C 开发
  • C语言——动态内存管理详解(内存结构、动态内存函数、易错题、柔性数组)
  • 2023年全国控制科学与工程学科评估结果 - 自动化考研
  • React wangEditor5 使用说明
  • vue 实现数字验证码功能
  • 【计算机网络】HTTP协议详解(举例解释,超级详细)
  • PCB放置过孔技巧
  • 淘宝商品详情接口数据采集用于上货,无货源选品上货,采集淘宝天猫商品详情数据
  • DoS和DDos攻攻击
  • Python实时采集Windows CPU\MEMORY\HDD使用率
  • 【改造中序遍历算法】1038. 从二叉搜索树到更大和树
  • 克服网络安全压力:如何掌控无限的云数据
  • 【数据结构和算法】--N叉树中,返回某些目标节点到根节点的所有路径
  • 进程和线程的区别 线程之间共享的资源
  • 基于Matlab实现logistic方法(源码+数据)
  • leetCode 121. 买卖股票的最佳时机 贪心算法
  • 《Oracle系列》Oracle 索引使用情况查看
  • 解决Invalid bound statement (not found)错误~
  • 基于SpringBoot的反诈宣传平台设计与实现(源码+lw+部署文档+讲解等)
  • 【改进哈里鹰算法(NCHHO)】使用混沌和非线性控制参数来提高哈里鹰算法的优化性能,解决车联网相关的路由问题(Matlab代码实现)
  • 【C语言】宏定义
  • 库存三层模型概述
  • SNERT预备队招新CTF体验赛-Web(SWCTF)
  • OpenGLES:绘制一个彩色、旋转的3D圆柱
  • 【QT开发(6)】0926-QT 中加入 fastDDS 通信库的程序使用说明
  • js 判断字符串中是否包含某个字符串
  • 部署在阿里云ECS服务器上的微服务项目中获取到的时间和windows的时间不一样的问题
  • 怎么通过portainer部署一个vue项目
  • Springboot实现websocket(连接前jwt验证token)
  • 2023/10/3