275. H 指数 II --力扣 --JAVA

题目

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

h 指数的定义:h 代表"高引用次数"(high citations),一名科研人员的 h 指数是指他(她)的 (n 篇论文中)总共有 h 篇论文分别被引用了至少 h 次。

请你设计并实现对数时间复杂度的算法解决此问题。

解题思路

  1. 数组是升序排列的,所以可以从后向前遍历;
  2. 遍历过的元素肯定大于等于当前元素的值,遍历过的元素数量为n - i;
  3. 只要当前元素的值大于等于遍历过的元素数量,既可作为结果之一;
  4. 选择最后结果最大值输出。

代码展示

java 复制代码
class Solution {
    public int hIndex(int[] citations) {
        int ans = 0;
        int n = citations.length;
        for (int i = n - 1; i >= 0; i--){
            if(citations[i] >=  n - i){
                ans = n - i;
            }
        }
        return ans;
    }
}
相关推荐
飞Link16 小时前
深度解析 NT-Xent:对比学习中的标准化温度交叉熵损失
python·算法·数据挖掘·回归
饿了就去喝水16 小时前
C语言笔试程序题
c语言·数据结构·算法
故事和你9116 小时前
sdut-程序设计基础Ⅰ-实验三while循环(1-10)
开发语言·数据结构·c++·算法·类和对象
再一次等风来16 小时前
声源定位算法5----SRP-PHAT(1)
算法·信号处理·srp
Yupureki16 小时前
《算法竞赛从入门到国奖》算法基础:数据结构-并查集
c语言·数据结构·c++·算法
DeepModel16 小时前
【概率分布】伯努利分布详解
算法·概率论
再一次等风来16 小时前
声源定位算法5----SRP-PHAT(2)
算法·信号处理·srp·声源定位·gcc-phat
CappuccinoRose16 小时前
MATLAB学习文档 - 汇总篇
学习·算法·matlab
菜鸟小九16 小时前
hot100(31-40)
java·算法
gfdhy17 小时前
【Linux】服务器网络与安全核心配置|静态IP+SSH加固+防火墙,公网服务器必学实操
linux·服务器·网络·tcp/ip·算法·安全·哈希算法