1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| class Solution { public int hIndex(int[] citations) { int left = 1, right = citations.length, ans = 0; while (left <= right) { int mid = left + (right - left) / 2; if (citations[citations.length - mid] >= mid) { ans = mid; left = mid + 1; } else { right = mid - 1; } } return ans; } }
|
这个就是H——Index第一版本的第二个答案.
时间复杂度: O(logn)
空间复杂度: O(1)