题目:给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。
我的分析:就是查找数组中,至少有i个元素大于i,既然是这样,那可以考虑从大到小排序,排序完,反向for循环,只要Array[Length - i] >= i,则length-i的都是大于等于i的,满足题意。
static class Solution {
public int hIndex(int[] citations) {
Arrays.sort(citations);
int len = citations.length;
for (int i = len; i > 0; i--) {
if (citations[len - i] >= i) {
return i;
}
}
return 0;
}
}
提交,满足所有用例。