欢迎访问104网

当前位置: 首页 >  在线教育 >  二分法:区间的重要性(初探)

二分法:区间的重要性(初探)

时间:2023-12-05 13:09| 作者:admin

哈喽,我是404,正在努力提升代码能力的未来女程序员(笑),这是我的第一篇博客,接下来会记录我的学习之路到我力扣完全可以手撕,废话不多说,正文开搞!

通过初见力扣经典题目704.二分查找和59.螺旋矩阵,我注意到区间的使用对于题解非常重要,开与闭的划定是解题的关键,以下是一些重要点:

1.【】与【)的区别

首先贴上两幅图,借用一下代码随想录当中的图示:

【】的情况 【)的情况

可以看出,包括与不包括的区别在于边界值在何处,与此同时,对于区间缩小后值的位置也有影响,以下是对比:

【】时,若区间向左缩小,right = mid - 1 【)时,若区间向左缩小,right = mid

ps:其实一开始并不清除为什么right的值会有差别,读了代码随想录也有点迷糊,之后知道,这与区间 有关。【】时,约束条件已经不满足,必须要再缩小一次;【)时约束条件仍然成立,所以可以为mid值。

2.循环不变量

在做螺旋矩阵时我不由得对前人的思路佩服至极,对于模拟一段过程,他们追求最简化,以此产生了循环不变量,做到简洁易懂。如图:

方块颜色即统一区间,循环不变量原则,对这道题的解决带来了极大的便利。

3.碎碎念

第一次刷题时不懂mid不可按一般思维直接加和,会导致溢出,迷糊了很久,后面看到移位运算也是想不到的操作,真妙啊。

感谢观看!不看也感谢我自己的知识产出!

Copyright © 2018-2024 104网 版权所有 | 备案号:京ICP备104