标签:eve blog code put href lis paper res elf
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 has5papers in total and each of them had received3, 0, 6, 1, 5citations respectively. Since the researcher has3papers with at least3citations each and the remaining two with no more than3citations each, his h-index is3.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 """ 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
标签:eve blog code put href lis paper res elf
原文地址:http://www.cnblogs.com/bubbleStar/p/6896843.html