LeetCode OJ:H-Index(H指数)
2015-11-26 22:12
357 查看
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
Note: If there are several possible values for
感觉这题更加像动归,没写出来,看了别人的实现,代码如下:
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
5papers in total and each of them had received
3, 0, 6, 1, 5citations respectively. Since the researcher has
3papers with at least
3citations each and the remaining two with no more than
3citations each, his h-index is
3.
Note: If there are several possible values for
h, the maximum one is taken as the h-index.
感觉这题更加像动归,没写出来,看了别人的实现,代码如下:
class Solution { public: int hIndex(vector<int>& citations) { int n = citations.size(); vector<int>index(n + 1, 0);//注意这里是n+1 for(int i = 0; i < n; ++i){ if(citations[i]>=n) index ++; else index[citations[i]]++; } if(index >= n) return n; for(int i = citations.size()-1; i >= 0; --i){ index[i]+=index[i+1]; if(index[i] >= i) return i; } return 0; } };
相关文章推荐
- Android的一个登录小实例
- Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive
- 为lua table写保护变成只读
- HDU 1045 Fire Net(二分匹配)
- 拦截器记录
- try catch finally中return的 执行顺序问题
- java中Clendar类详解
- Android官方文档翻译 五 1.3Building a Simple User Interface
- 属性
- DELPHI 任务栏无EXE显示
- 151126
- 经期饮食
- [转载]从 SVM 到多核学习 MKL
- JAVA线程:
- Android开发中Android数据的四种存储方式
- IO异常捕获
- java.lang.Math
- Delphi 全面控制Windows任务栏
- Set&Multiset
- 替换存储表决磁盘的ASM