数组|274. H 指数

274. H 指数

**题目:**给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。根据维基百科上 h 指数的定义:h 代表“高引用次数” ,一名科研人员的 h 指数 是指他(她)至少发表了 h 篇论文,并且 至少 有 h 篇论文被引用次数大于等于 h 。如果 h 有多种可能的值,h 指数 是其中最大的那个。
题目链接: 274. H 指数
解题思路及代码:
注意从大到小的排序的写法!!
int 从大到小排序使用sort函数 需要转为Integer
或者先sort后翻转

class Solution {

    public int hIndex(int[] citations) {
        Integer[] citationsInteger = Arrays.stream(citations).boxed().toArray(Integer[]::new);
        Arrays.sort(citationsInteger,new Comparator<Integer>() {
            public int compare(Integer a, Integer b) {
                return b - a; // 降序排序
            }
        });
        int result=0;
        for(int i=0;i<citationsInteger.length;i++){
            if(citationsInteger[i]>result){
                result++;
            }
        }
        return result;
    }
}

你可能感兴趣的:(代码随想录,算法,数据结构)