首页 > 其他分享 >二分法:区间的重要性(初探)

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

时间:2023-03-19 19:11:57浏览次数:44  
标签:right 缩小 随想录 mid 二分法 重要性 初探 区间

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

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

 

1.【】与【)的区别

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

          【】的情况                     【)的情况

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

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

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

 

2.循环不变量

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

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

3.碎碎念

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

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

标签:right,缩小,随想录,mid,二分法,重要性,初探,区间
From: https://www.cnblogs.com/Zxjblog/p/17233953.html

相关文章

  • 【问题记录】html双横杠换行问题,white-space的重要性
    废话如图,就是这两个小玩意儿。两个​​--​​同时出现在html就会傻逼地给你进行智障前期,以为是浏览器把这个当做​​英文单词的换行​​​来处理了,所以用css的​......
  • python实现一个二分法
    #################                 ############################### #########################......
  • 二分法求三次方根
      #include<iostream>usingnamespacestd;intmain(){doublen;cin>>n;intl=1,r=n;while(l+1e-7<r){doublemid=(l+r)/2;if(mid*mid*mid>=n){r=mid;}elsel......
  • Phoenix初探
    Phoenix简单介绍Phoenix是HBase的sql层,基于Phoenix可以通过sql命令操作HBase,降低了学习HBase的成本,同时方便与代码迁移,之前面向关系型数据库的代码,只需要换下数据库的......
  • python 二分法查找
    二分查找(搜索)是一种在有序列表中查找某一特定元素的搜索算法。二分搜索是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是......
  • WBS的重要性
    在很多项目失败的原因来看,没有完成全部项目工作,甚至不清楚项目要完成哪些工作,占比还不少,也就是说,没有做好项目的范围管理,范围没有弄清楚,也就是没有完全拆解全部项目需求而盲......
  • 电脑经常蓝屏的解决方案初探
    寒假办公电脑没怎么动。新学期来办公,一万多的电脑就开始是不是蓝屏,一天办公下来给你蓝过2-3次,就问你蓝瘦不蓝瘦。开始想着找LinQiu帮忙弄。后来不想麻烦人家。想着重装系......
  • 二分法查找
    原理一个数据有升序的数组,每次取中间元素比较,如果大于需要查找的元素,则去后面数据,中间数据作为起点最后数据作为终点再定中间数据比较。如果小于需要查找的数据,则取前面......
  • 国外SEO优化的重要性及应对策略
    SEO是指搜索引擎优化,是一种通过优化网站的结构和内容,提高网站在搜索引擎中的排名,从而吸引更多的流量和潜在客户的过程。国外SEO优化尤为重要,因为搜索引擎在全球范围内广泛使......
  • Python爬虫初探
    准备部分0x01爬虫的简介和价值a.简介自动抓取互联网数据的程序,是基础技术之一b.价值快速提取网络中有价值的信息0x02爬虫的开发环境a.环境清单Python3.7开......