原题链接
就是多了个时间复杂度的要求,上一题是从大到小去遍历H
那现在就改成用二分查找去定H就好了
代码如下:class Solution {
public:
int hIndex(vector& c) {
int l = 0, r = c.size();
reverse(c.begin(), c.end());
while(l < r){
int h = l + r + 1 >> 1;
if(c[h - 1] >= h) l = h;
else r = h - 1;
}
return l;
}
};



