当前位置:网站首页>二分查找的坑
二分查找的坑
2022-08-08 20:32:00 【左手】
二分查找的坑
介绍
二分查找是一个十分容易理解的一中算法,原理非常的简单,就是不断取出中间值进行对比,最终得出结果(这里不做过多介绍)
问题
二分查找容易写错 循环的判断条件有时候可以,有时候又不行 中间值索引取值,left/right = mid? mid+1? mid-1? 不一样的题用同样的二分查找就出现各种问题?
分析
先随机打开一个力扣的简单题,看看别人的题解

首先第一个坑是mid的溢出问题
这里不做介绍,一般都是用: (大 - 小) / 2 + 小 等价于:(大 + 小)/ 2
循环条件问题
自己写的时候,有时候的循环条件没问题,有时候就这么也跳不出循环,看别人的题解的条件又是五花八门
高低移位问题
高低移位也是和循环条件差不多,题解五花八门,和循环条件又紧紧相关
解决
视频链接:https://www.bilibili.com/video/BV1d54y1q7k7?spm_id_from=333.337.search-card.all.click
其实二分查找还是容易被忽视的,有非常多的细节,看了大佬的讲解收获还是比较大的,至少固定了属于自己的模板,在实际刷题就没有那么多烦恼和问题
循环条件
left + 1 < right
移位(没有+-1的问题)
left/right = mid
返回(没有返回left/right的问题)
mid
边栏推荐
猜你喜欢

使用fontforge修改字体,只保留数字

tar zcf是单线程瓶颈

Linux下使用kill杀不死Mysql进程一直杀不死的问题解决方案

图的几种存储方式

Experience Sharing | A low-cost and fast-paced approach to building an enterprise knowledge management system

C语言关键字入门 这一篇足矣

com.alibaba.fastjson.JSONException: default constructor not found. class

Questions about Mac terminal custom commands and Mysql command

我们仍未知道那天踩的MultipartFile file为null的大坑是为什么

网络工程师怎么系统性学习?这份网工资料包帮你解决
随机推荐
深度学习初步认知
Kotlin委托属性知识点
监控工具普罗米修斯(Prometheus)的介绍与安装
同花顺买股票软件正规吗?安全吗?
解决gradle导包速度慢问题
Mendix:企业成功执行数字化转型的9个因素
0-1 背包问题
瑞吉外卖项目实战Day06--手机端
How can recommender systems be trusted?A review of the latest "Trusted Recommender System" from Rutgers University, a 43-page pdf explaining the composition and technology of trusted RS
数据解读!智能座舱“升级战”背后,本土供应链加速崛起
劳务派遣业务流程图
iMeta | 深圳先进院戴磊组开发可同时提取共存菌株的组成和基因成分谱的菌株分析工具...
新库上线 | CnOpenDataA股上市公司基本信息数据
tar zcf是单线程瓶颈
买股票安全吗 资金能取出来吗
源码分析Canal专栏
Ansible自动化运维工具(一)安装及模块
Gradle简单到使用kotlin编写到常用命令
2022-08-08 第六小组 瞒春 学习笔记
Kotlin annotations