1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| class Solution { public int hIndex(int[] citations) { int n = citations.length; int[] cnt = new int[n + 1]; for (int x : citations) { x = x > n ? n : x; cnt[x]++; } int ans = 0, sufSum = 0; for (int i = n; i > 0; --i) { sufSum += cnt[i]; ans = Math.max(ans, Math.min(i, sufSum)); } return ans; } }
|