LeetCode经典150题.274.H指数

2023-12-21

题目

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

提示:

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

思路与代码

题目说明,一名科研人员的 h 指数 是指他(她)至少发表了 h 篇论文,并且每篇论文 至少 被引用 h 次。

代码如下

func hIndex(citations []int) int {
    //寻找一个数 h,h 表示 citations 数组中至少有 h 个数,并且这 h 个数都大于等于 h。
	n := len(citations)
	sort.Ints(citations)
	for i := n-1; i >= 0; i-- {
		// 找到第一个特例,然后把符合要求的论文篇数返回即可
		if citations[i] < n-i {
			return n-i-1
		}
	}
	// 全都符合,那就返回数据长度呵
	return len(citations)

}

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LeetCode经典150题.274.H指数 的相关文章

随机推荐

  • Pytest自动化测试 - 必知必会的一些插件

    Pytest拥有丰富的插件架构 超过800个以上的外部插件和活跃的社区 在PyPI项目中以 pytest 为标识 本篇将列举github标星超过两百的一些插件进行实战演示 插件库地址 http plugincompat herokuapp
  • Selenium库编写爬虫详细案例

    一 引言 Selenium作为一个强大的自动化测试工具 其在网络爬虫领域也展现出了许多技术优势 首先 Selenium可以模拟浏览器行为 包括点击 填写表单 下拉等操作 使得它能够处理一些其他爬虫工具无法应对的情况 比如需要登录或者页面使用
  • 多任务学习综述

    文章目录 参考 概述 单任务独立学习 多任务学习 MTL 多任务的类型 联合学习 joint learning 对称 自主学习 learning to learn 非对称 非对
  • 《妙趣横生的算法》(C语言实现)- 第6章 数学趣题(二)

    6 1 连续整数固定和问题 找出任意输入的整数n的全部的连续整数固定和 题目分析 至少要找出两个连续整数的固定和 一个整数的话就是本身了呢 那如何确定这些连续整数呢 想明白了 第一个整数设为a 第二个整数是a 1 假设有m个连续整数 那么第
  • POE工业交换机:为工业网络供电的解决方案

    随着工业自动化和智能制造的发展 POE工业交换机 在现代工业网络中发挥着越来越重要的作用 本文将探讨POE工业交换机的工作原理 优势和应用 POE工业交换机的工作原理 POE工业交换机采用 以太网供电 Power over Ethernet
  • 工程结构振弦采集仪的新技术与新方法研究

    工程结构振弦采集仪的新技术与新方法研究 工程结构振弦采集仪的新技术与新方法研究旨在提高采集仪在工程结构振动监测中的性能和可靠性 以下是一些可能的研究方向 1 传感器技术改进 研究新型传感器技术 如光纤传感器 MEMS传感器等 以提高振弦采集
  • 设计与算法:迷宫问题

    描述 定义一个二维数组 int maze 5 5 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 它表示一个迷宫 其中的1表示墙壁 0表示可以走的路 只能横着走或竖着走 不能斜着走 要求编
  • Unity学习笔记

    一 旋转欧拉角 四元数 Vector3 rotate new Vector3 0 30 0 Quaternion quaternion Quaternion identity quaternion Quaternion Euler rota
  • 百年东芝“瞄准”汽车「芯」机遇

    在汽车 新四化 大变革的驱动下 汽车半导体市场进入需求暴涨的新周期 智能电动汽车所需要的半导体种类和数量正在急剧增加 东芝电子分立器件应用技术部经理成栋表示 东芝电子正在加大汽车半导体市场的布局 从而满足汽车电动化 智能化发展所带来的全新市
  • Java入门:java中单引号和双引号区别

    区别1 java中的 单引号 表示字符 java中的 双引号 是字符串 区别2 单引号 引的数据一般是char类型的 双引号 引的数据 是String类型的 区别3 java中 单引号 里面只能放一个字母或数字或符号 java中的 双引号
  • CloudPulse:一款针对AWS云环境的SSL证书搜索与分析引擎

    关于CloudPulse CloudPulse是一款针对AWS云环境的SSL证书搜索与分析引擎 广大研究人员可以使用该工具简化并增强针对SSL证书数据的检索和分析过程 在网络侦查阶段 我们往往需要收集与目标相关的信息 并为目标创建一个专用文
  • 【华为机试真题 Python】简单的自动曝光、平均像素值

    题目描述 一个图像有n个像素点 存储在一个长度为n的数组img里 每个像素点的取值范围 0 255 的正整数 请你给图像每个像素点值加上一个整数k 可以是负数 得到新图newImg 使得新图newImg的所有像素平均值最接近中位值128 请
  • 一文揭秘人才成长规律,看到就是赚到

    社会不教 精英不讲 看到就是赚到 为啥你比别人挣得少 职场当中 决定你能拿多少钱 并不在于你的学历 也并不在于你的背景 而在于你处于什么位置 你能做什么 你做了什么 你为谁做什么 能做什么 代表的是能力 你做了什么 代表的是方向和业绩 你为
  • 【项目管理】redmine

    Redmine是用Ruby开发的基于web的项目管理软件 是用ROR框架开发的一套跨平台项目管理系统 据说是源于Basecamp的ror版而来 支持多种数据库 有不少自己独特的功能 例如提供wiki 新闻台等 还可以集成其他版本管理系统和B
  • LeetCode:162. 寻找峰值、1901. 寻找峰值 II(二分 C++)

    目录 162 寻找峰值 题目描述 实现代码与解析 二分 原理思路 1901 寻找峰值 II 题目描述 实现代码与解析 二分 原理思路 162 寻找峰值 题目描述 峰值元素是指其值严格大于左右相邻值的元素 给你一个整数数组 nums 找到峰值
  • 计算机组成原理综合1

    1 完整的 计算机系统 应包括 D A 运算器 存储器和控制器 B 外部设备和主机 C 主机和实用程序 D 配套的硬件设备和软件系统 2 计算机系统中的存储器系统是指 D A RAM存储器 B ROM存储器 C 主存储器 D 主存储器和外存
  • 【go语言】error错误机制及自定义错误返回类型

    简介 Go 语言通过内置的 error 接口来处理错误 该接口定义如下 type error interface Error string 这意味着任何实现了 Error 方法的类型都可以作为错误类型 在 Go 中 通常使用 errors
  • 产品经理和项目经理怎么区分?看完你也会

    产品经理的英文名叫Product Manager 项目经理的英文名叫Project Manager 两个都简称为PM 在工作中 这两种角色的工作内容常常有相同的地方 一些小公司甚至是产品经理和项目经理由同一个人承担 那今天我就给大家讲讲他们
  • 在线客服系统中的全渠道服务:多渠道整合与无缝沟通体验

    很多采购人员在了解在线客服系统的时候都会遇到一个名词 全渠道 很多人第一次接触可能并不理解它是什么意思 也不知道自己的企业是否需要这个 全渠道 今天这篇文章就为大家解答一二 一 全渠道是什么 全渠道 Omni Channel 就是企业为了满
  • LeetCode经典150题.274.H指数

    题目 274 H 指数 给你一个整数数组 citations 其中 citations i 表示研究者的第 i 篇论文被引用的次数 计算并返回该研究者的 h 指数 根据维基百科上 h 指数的定义 h 代表 高引用次数 一名科研人员的 h 指