Given an array of citations (each citation is a non-negative integer) of a researcher, write a function to compute the researcher’s h-index.
According to the definition of h-index on Wikipedia: “A scientist has index h if h of his/her N papers have at least h citations each, and the other N − h papers have no more than h citations each.”
For example, given
citations = [3, 0, 6, 1, 5], which means the researcher has
5 papers in total and each of them had received
3, 0, 6, 1, 5 citations respectively. Since the researcher has
3 papers with at least
3 citations each and the remaining two with no more than
3 citations each, his h-index is
Note: If there are several possible values for
h, the maximum one is taken as the h-index.
class Solution(object): def hIndex(self, citations): """ :type citations: List[int] :rtype: int """ N = len(citations) if (N == 0): return 0 if (N == 1): return min(1, citations) citations.sort(reverse=True) for h in range(1, N): if(citations[h-1] >= h and citations[h] <= h): return h if(citations[N-1] >= N): return N else: return 0