题目
解题思路
- 将数组按升序排序后,遍历数组后取当前值与剩余数组数量的较小值,即为H值
Code
class Solution {
public int hIndex(int[] citations) {
//特殊情况
if(citations==null || citations.length==0) return 0;
//升序排列
Arrays.sort(citations);
int h = 0;
for(int i=0;i<citations.length;i++){
//对于每一次比较,取当前值与剩余数组数量的较小值
h = Math.max(h,Math.min(citations[i],citations.length-i));
}
return h;
}
}
代码运行截图