描述
给出h引用的定义,求h的值
解决
利用二分即可。
class Solution {
public:
int hIndex(vector<int>& citations) {
int length = citations.size();
int l = 0, r = length;
while (l < r)
{
int m = l + ((r - l) >> 1);
if (citations[m] == length - m)
return length - m;
else if (citations[m] > length - m)
r = m;
else
l = m + 1;
}
return length - l;
}
};