274. H-Index - LeetCode

Question

274. H-Index

Solution

题目大意:

论文里的 h 因子判定,题目的意思可能有点晦涩。h 因子是评判学术成就的一种重要方法,h 因子越高越好,h 因子兼顾研究学术人员的学术产出数量与学术产出质量。假设一个研究者的 h 因子为 10,则表明该研究者被引用次数大于等于 10 的文章数量也应大于等于 10。

思路:见代码注释

Java实现:

public int hIndex(int[] citations) {
    if (citations.length == 0) return 0;
    // 数组大小表示发表的论文数量
    // 数组的元素表示每篇论文被引用的次数(间接表明论文的质量)

    // 论文根据引用次数排序
    Arrays.sort(citations);
    int level = 0; // 代表研究者的水平   求max(h),满足被引用的次数>=h的论文数>=h
    for (int i=0; i<citations.length; i++) {
        level = Math.max(level, Math.min(citations.length - i, citations[i]));
    }
    return level;
}
posted @ 2018-07-20 10:17  okokabcd  阅读(117)  评论(0编辑  收藏  举报