- Use binary search to reach log runtime.
citations[mid] >= n - mid, mid might be the answer, but our
hcan be evern bigger, so we should move left with
right = mid(Not right = mid - 1 in case we miss our ans.)
citations[mid] < n - mid, either
citation[mid]is too small or
midis too small, so we should
left = mid + 1.
- When the loop stops, the exception is array like
, we need to check if
cs[left] >= n - left.
If not, return
Given an array of integers
citations[i] is the number of citations a researcher received for their ith paper and
citations is sorted in an ascending order, return compute the researcher’s h-index.
According to the definition of h-index on Wikipedia: A scientist has an index
h of their
n papers have
at least h citations each, and the other
n − h papers have no more than h citations each.
If there are several possible values for h, the maximum one is taken as the h-index.
You must write an algorithm that runs in
Input: citations = [0,1,3,5,6]