Question:
这个是本人面 TripAdvisor的时候的一道题,感觉网上Po出来的很少,就在这里发一下solution
H index 指的是在一个数组里,有s个数大于s(s 为数组中的一个元素),则H INDEX 为 s。
public int HIndex(int[] a){
int[] s = new int[a.length+1];
for(int i = 0; i<a.length; i++){
s[Math.min(a.length, a[i])]++;
}
int sum;
for(int i = s.length - 1; i >= 0; i--){
sum += s[i];
if(sum >= i){
return i;
}
}
return 0;
}