274. H-Index
阿新 • • 發佈:2017-05-24
esp max type his mea oss maximum possible 實現
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 has5
papers in total and each of them had received3, 0, 6, 1, 5
citations respectively. Since the researcher has3
papers with at least3
citations each and the remaining two with no more than3
citations each, his h-index is3
.Note: If there are several possible values for
h
, the maximum one is taken as the h-index.
代碼(python實現)
class Solution(object): def hIndex(self, citations): """ :type citations: List[int] :rtype: int """ hIndex = 0 if citations is None orlen(citations) == 0: return 0 if len(citations) == 1: if citations[0] == 0: return 0 else: return 1 citations.sort() q = len(citations) - 1 count = 1 if citations[0] >= len(citations): return len(citations) while(q >= 0): if citations[q] < count or citations[q] == 0: break #從右往左掃描,如果count在citations[q - 1]和citations[q]之間,則hIndex = count if count >= citations[q - 1] and count <= citations[q]: hIndex = count count += 1 q -= 1 return hIndex
274. H-Index