原题链接
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d3e5b4106a172ea641dea73518b3b449.png)
Note:
从大到小去枚举一下,每次的H定了以后 ,看看数组里有没有H个数大于等于H
那么先从大到小给数组去排序,只需要看看第H个位置的数是不是大于等于H就可以了
如果大于等于 那么当前H就是合法的,而又是从大到小枚举的H,H一定是最大的那个
代码如下:
class Solution {
public:
int hIndex(vector<int>& c) {
sort(c.begin(), c.end(), greater<int>());
for(int h = c.size(); h; h --)
if(c[h - 1] >= h)
return h;
return 0;
}
};