😂二分查找
这个题目有难度,存在相同数字导致它时而取左边界,时而取右边界。
比如[3,3,3,3,1,3,3],这时按理说我查找3,并且取右界,然后与lo + 1的位置比较,取较小的那个即可。
但是如果[3,1,3,3,3,3,3,3],这时如果我查找右界,那么回到倒数第二个3的位置,这就不对了。
同理,单纯取左界也是不对的。
1 | class Solution { |
Accepted
192/192 cases passed (12 ms)
Your runtime beats 17.42 % of cpp submissions
Your memory usage beats 5.15 % of cpp submissions (14.5 MB)