1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| class Solution { public int hIndex(int[] citations) {
int left = 0, right = citations.length;
int res = 0; while (left <= right) { int mid = (left + right) >>> 1; int count = 0; for (int c : citations) { if (c >= mid) { count++; } }
if (count >= mid) { res = mid; left = mid + 1; } else { right = mid - 1; } }
return res; } }
|