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."、
1 采用bucket sort的方法,构建一个长度为len+1的数组a。再去遍历citation数组,当citation值大于等于n的时候,a[n]+1,当citation值小于n的时候,更新相应a[i]的值;最后用一个变量total从后往前统计a的值,当total的值大于等于某个i的时候,则i是h-index的值
2 一种方法是按citation从高到低排序,citations数大于序号的就是h-index文章,序号是从1开始的
3 第二种方法需要排序,然后加上遍历,时间复杂度比较高,而使用bucket sort,时间复杂度仅是遍历的O(n)
4 python中没有++操作,只有+=
5 for i in xrange(length, -1) 如果范围是length到0,这里要写成-1
6 for i in xrange(length, -1, -1): 一定要写后面那个-1,代表降序,不然返回null