H指数:
class Solution {
public:
int hIndex(vector<int>& f) {
int n = f.size();
sort(f.begin(), f.end());
for (int i = 0; i < n; i ++ )
{
if(f[i] >= n - i)
return n - i;
}
return 0;
}
};
H指数2:
class Solution {
public:
int hIndex(vector<int>& f) {
int l = 0, r = f.size() - 1, n = f.size();
if(f[r] == 0) return 0;
while (l < r)
{
int mid = l + r >> 1;
if(f[mid] >= n - mid) r = mid;
else l = mid + 1;
}
return n - r;
}
};