【LeetCode】274. H 指数

news/2025/10/12 18:10:45/文章来源:https://www.cnblogs.com/WilsonPan/p/19136958

274. H 指数

题目

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

根据维基百科上 h 指数的定义:h 代表“高引用次数” ,一名科研人员的 h 指数 是指他(她)至少发表了 h 篇论文,并且 至少 有 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

解法

解法一:遍历所有可能性

public int hIndex(int[] citations) {if (citations == null || citations.length <= 0)return 0;int count = 0;for (int h = 1; h <= citations.length; h++) {count = 0;for (int i = 0; i < citations.length; i++) {if (citations[i] >= h) {count++;}}if (count < h) {return h - 1;}}return count;
}

时间复杂度:O(n^2)
空间复杂度:O(1)

解法二

二分搜索

public int hIndex(int[] citations) {if (citations == null || citations.length <= 0)return 0;int left = 0, right = citations.length;int mid = 0, cnt = 0;while (left < right) {mid = (left + right + 1) >> 1;cnt = 0;for (int i = 0; i < citations.length; i++) {if (citations[i] >= mid) {cnt++;}}if (cnt >= mid) {// 要找的答案在 [mid,right] 区间内left = mid;} else {// 要找的答案在 [0,mid) 区间内right = mid - 1;}}return left;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/935567.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python之多态

多态 类具有继承关系,并且子类类型可以向上转型看做父类类型,如果我们从 Person 派生出 Student和Teacher ,并都写了一个 whoAmI() 方法:class Person(object):def __init__(self, name, gender):self.name = name…

Ubuntu系统部署Anaconda环境及Python语言的详细流程

Anaconda是一个流行的Python数据科学及机器学习平台,它聚集了许多用于科学计算、数据分析和机器学习的库。在Ubuntu系统中部署Anaconda环境涉及到下载、安装、设置环境变量以及使用conda创建和管理虚拟环境等几个步骤…

python之继承

继承特性,面向对象的三大特征之一。通过继承从其它类获取属性和方法 继承特性 # 一个类中有方法重复,但又不能实现全部功能 # 通过定义class 类名(父类):继承父类的所有属性和方法 class People:def __init__(self,n…

RK3568+MCU实时机器人解决方案 - 教程

RK3568+MCU实时机器人解决方案 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mona…

做题记录 #2

A. ABC427G Takahashis Expectation 2 (6.5) 非常厉害的题目。 首先肯定考虑维护一个答案函数,初始为 \(y=x\),那么每次操作相当于用一条横线砍它,上面 -b 下面 +a。 考场上想了一个正确性其实不是很显然,感觉也不…

力扣 第455场周赛(A~D)

力扣 第455场周赛(A~D)$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");A:出现次数能被 K 整除的元素总和 签到题,给一个整数数组nums和一个数k,计算nums…

深度学习开源书籍的技术解析

本文介绍了一本结合数学理论与编程实践的深度学习开源书籍,涵盖PyTorch和Tensor框架实现,通过Jupyter Notebook提供交互式学习体验,被多所高校采用为教材。深度学习著作的技术特色 《Dive into Deep Learning》是一…

c++自制游戏盒子

include<bits/stdc++.h> include <windows.h> include <stdio.h> include<conio.h> include<time.h> using namespace std; int x = 0; int* X = &x; char Void[10000] = "\0&…

向量库面试题

什么是向量数据库,和传统数据库相比有什么不同? “向量数据库是一类专门用于存储和检索高维向量数据的数据库。向量通常是从文本、图像、音频等非结构化数据通过 embedding 模型生成的高维浮点数组。 与传统数据库相…

02 常用快捷键和指令

新的快捷键 常用 shift+delete:永久删除文件 ctrl+shift+esc:打开任务管理器 alt+f4:关闭进程 ps:前阵子ow流行发一些图片表情和不同颜色字体的时候,很多人用来伪装系统提示引诱玩家按下alt+f4,结果真有人不知道…

深圳公共资源交易中心 www.szzfcg.cn

各市场主体: 感谢您长期以来的关心和支持!深圳交易集团有限公司(深圳公共资源交易中心)政府采购业务分公司网站进行了全新升级,网站栏目设计及功能布局较以往得到了进一步提升,将更好地为市场主体提供交易服务和…

mysql百分数转小数点格式

基本转换方法 假设我们有一个包含百分数值的MySQL表,这些百分数值以字符串的形式存储,例如 50%。我们的目标是将这些百分数值转换为小数点格式,即 0.50。 转换的基本方法是将百分数值除以100。在MySQL中,可以通过简…

如何下载Sora视频 - 2025完整指南

如何下载Sora视频 - 2025完整指南学习如何使用我们的网站或Chrome扩展程序下载Sora AI视频。本综合指南提供了两种不同方法下载Sora视频的分步说明,为最佳用户体验进行了优化。学习如何使用我们的网站或Chrome扩展程序…

操作系统内存管理思维导图总结

操作系统内存管理思维导图总结 笔记在导图里面 https://www.processon.com/view/link/60a2668563768925076bb0cb操作系统--虚拟内存管理

取证复刻1

1 acess访问 cnf拷贝 ai调用语言模型 后缀.gguf 容器后缀.ctr 创建时间(生成新副本的时间): 文件在这个虚拟分区首次被编录的时间,文件被创建或复制到另一个分区的时候会改变这个时间,但剪切不会改变这个时间。…

操作系统(Linux)文件系统思维导图总结

操作系统(Linux)文件系统思维导图总结 内容较多,浏览器建议使用大纲查看。 https://www.processon.com/view/link/60eef0c15653bb06f24a2406https://www.processon.com/view/link/60a511767d9c0830244d41b3

mysql不等于<>取特定值反向条件的时候字段有null值或空值读取不到数据

在数据库操作中,正确理解和处理NULL值是避免常见错误和混淆的关键一步。尤其是在使用不等于(<>)或不是(!=)条件时,很多新手或者有时候即使是经验丰富的开发者都可能遇到一个容易忽视的问题:当字段值为NUL…

linux环境(ubuntu)安装mysql8详细教程

linux环境(ubuntu)安装mysql8详细教程2025-10-12 17:40 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block …

MySQL非root安装-初始化数据库时unknown variable ‘defaults-file=**/my.cnf‘

安装MySQL数据库是数据库管理的基础,有时在进行非root用户下安装MySQL数据库时,可能会遇到一些配置文件的问题。这里将详细介绍如何高效处理非root用户安装MySQL时出现的“unknown variable ‘defaults-file=**/my.c…