😂二分查找
值得注意的是:if(nums[m] > mo) { 这行代码可以改为 if(nums[m] >= mo) {
原因是:这里不存在nums[m] == mo的情况。
例如: [3 4 5 1 2]
- lo = 0 hi = 3 m = 1 A[m] = 4 > 2
- lo = 2 hi = 3 m = 1 A[m] = 5 > 2
从道理上来说,是因为这里是分叉点,所以不存在相等的状况。
1 | class Solution { |
Accepted
146/146 cases passed (4 ms)
Your runtime beats 88.97 % of cpp submissions
Your memory usage beats 5.4 % of cpp submissions (8.9 MB)