在二分查找中,如果所要查询的元素在数组中有多个元素存在的情况呢?例如数组{1,2,3,4,4,4,5,6,7,8}中查找4?
来源:7-13 二分查找_设计测试用例和隐藏10年的bug

心似平原走马易放难收
2017-08-30
写回答
1回答
-
ccmouse
2017-08-30
这个问题非常好,我原本也有想过说让大家课后练习一下,那既然提出来了,我们可以试着自己写一下,然后递交到 https://leetcode.com/problems/search-for-a-range/description/ 这个题会要查找第一个4和最后一个4。代码递交后如果错误它会显示错误的数据。
====提示分割线===
查找第一个4,只看arr[m]是不够的,我们可以想象找这样两个连着的数,左面(如果有的话)一个小于4,右面一个等于4。这样的话,a, b, m分别代表谁要仔细定义一下并且维持这个定义在循环中不变
112020-09-03
相似问题