20天刷题计划-274. H 指数

简介: 给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。根据维基百科上 h 指数的定义:h 代表“高引用次数”,一名科研人员的 h指数是指他(她)的 (n 篇论文中)总共有 h 篇论文分别被引用了至少 h 次。且其余的 n - h 篇论文每篇被引用次数 不超过 h 次。如果 h 有多种可能的值,h 指数 是其中最大的那个。 

一、题目描述:

给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。

根据维基百科上 h 指数的定义:h 代表“高引用次数”,一名科研人员的 h指数是指他(她)的 (n 篇论文中)总共有 h 篇论文分别被引用了至少 h 次。且其余的 n - h 篇论文每篇被引用次数 不超过 h 次。

如果 h 有多种可能的值,h 指数 是其中最大的那个。

 

示例 1:

输入:citations = [3,0,6,1,5] 输出:3 解释:给定数组表示研究者总共有 5 篇论文,每篇论文相应的被引用了 3, 0, 6, 1, 5 次。      由于研究者有 3 篇论文每篇 至少 被引用了 3 次,其余两篇论文每篇被引用 不多于 3 次,所以她的 h 指数是 3。 示例 2:

输入:citations = [1,3,1] 输出:1  

提示:

n == citations.length 1 <= n <= 5000 0 <= citations[i] <= 1000

来源:力扣(LeetCode) 链接:leetcode-cn.com/problems/h-…

二、思路分析:

首先理解题意, h指数是指他(她)的 (n 篇论文中)总共有 h 篇论文分别被引用了至少 h 次,可以理解为:h 指数指可以把一个研究者的论文被引用的次数 按照升序排序,找的是一条分割线,分割线右边的所有论文的引用次数都很高,并且:分割线右边的最少引用次数 >= 分割线右边的论文篇数。最后题目要求返回的是论文数量,所以可以使用2分查找法 首先确认边界:H指数要求发表的篇数,所以一定不会大于总篇数 所以范围是 0-N

  • 如果论文引用次数 >= 当前引用次数,符合要求的篇数+1
  • 如果符合要求篇数>=引用次数,则当前值可以为H指数

三、AC 代码:

class Solution {
     public int hIndex(int[] citations) {
        int n=citations.length;
        int l=0,r=n;
        while(l<=r){
            int mid = l + (r-l)/2;
            if(check(citations,mid)){
                l=mid+1;
            }else{
                r=mid-1;
            }
        }
        return r;
    }
    public boolean check(int[] citations, int mid) {
        int count=0;
        for (int citation : citations) {
            if(citation>=mid){
                count++;
            }
        }
        return count>=mid;
    }
}

四、总结:

网络异常,图片无法展示
|
掘友们,解题不易,留下个赞或评论再走吧!谢啦~ 💐



相关文章
|
6月前
|
安全
202012-1 期末预测之安全指数
202012-1 期末预测之安全指数
|
6月前
|
数据可视化 前端开发 SEO
R语言门限误差修正模型(TVECM)参数估计沪深300指数和股指期货指数可视化
R语言门限误差修正模型(TVECM)参数估计沪深300指数和股指期货指数可视化
|
6月前
|
vr&ar
分位数自回归QAR分析痛苦指数:失业率与通货膨胀率时间序列|数据分享
分位数自回归QAR分析痛苦指数:失业率与通货膨胀率时间序列|数据分享
|
6月前
leetcode 275 H指数 2
leetcode 275 H指数 2
22 0
|
6月前
|
数据可视化
R语言分析负利率下金融市场:负利率和年金价值的变化
R语言分析负利率下金融市场:负利率和年金价值的变化
|
6月前
|
人工智能 编解码 数据中心
中国逐年干燥度指数数据集
中国逐年干燥度指数数据集
92 1
中国逐年干燥度指数数据集
|
编解码 算法 数据中心
遥感生态指数(RSEI)——四个指数的计算
遥感生态指数(RSEI)——四个指数的计算
遥感生态指数(RSEI)——四个指数的计算
|
11月前
差分方程模型:国民总收入(GDP)的乘数-加速数模型
差分方程模型:国民总收入(GDP)的乘数-加速数模型
115 0
|
算法 知识图谱
计算BMI健康指数
计算BMI健康指数
201 0
MOOG G122-824-002 穆格 发射极和集电极电流呈指数上升
MOOG G122-824-002 穆格 发射极和集电极电流呈指数上升
MOOG  G122-824-002 穆格  发射极和集电极电流呈指数上升