https://leetcode.com/problems/h-index-ii/description/
这题理解起来比较诡异。。。
二分答案
class Solution {
public:
int hIndex(vector<int>& cs) {
if (cs.size() == 0) return cs.size();
if (cs.size() == 1) return cs[0] >= 1;
if (cs[cs.size()-1] == 0) return 0;
int l = 0, r = cs.size() - 1;
while (l < r) {
int mid = l + ( (r-l)>>1 );
int tmp = cs.size() - mid;
if (cs[mid] >= tmp) {
r = mid;
} else {
l = mid + 1;
}
}
return cs.size() - l;
}
};