1. 程式人生 > >274. H-Index

274. H-Index

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 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 3

.

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 or
len(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