每天进步一点点,无比极致做每一件小事。晚上,下班回来后,准备就刷一道题目。于是打开【代码随想录】,开始去做【二分查找】。我这四年就没认真刷过,今天逼着自己沉下心来,竟然看出门道了。二分查找是基础算法。我们首先进行追问:二分查找在哪里查找?区间。区间的定义是什么呢?区间的定义有很多的,[a,b]是区间,[a,b)也是区间。两种区间的定义,决定了两种代码的写法。比如如果是[a,b),也就是左闭右开区间。对于左闭右开区间,初始的a=0, b=len(nums),其中nums是数组。那么循环的条件就是a<b,这也符合区间的定义。在循环中要坚持区间的定义不变这个原则。循环内部:mid=(a+b)//2如果nums[mid]>target,那么b=mid,这符合左闭右开。因为最右边的值是不可等于的。如果nums[mid]<target,那么a=mid+1。由此可见,这是数学区间定义的代码化。更极致更专注!奋斗!写于2025年11月11日,晚上22:13分。现在去洗澡。