当前位置: 首页 > news >正文

LeetCode[274]H指数

难度:Medium

题目:

给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 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

Related Topics

  • 数组
  • 计数排序
  • 排序

重点!!!解题思路

 明确解题思路:这道题其实相当于一种脑筋急转弯问题,我们可以先将数组从小到大排序后,从后往前遍历,每次遍历的时候做比较,此时数大于h指数,h指数就加一,如果此时的值小于了h指数,那么返回此时计数的h就是结果了。

源码:

class Solution {public int hIndex(int[] citations) {Arrays.sort(citations);int h=1,n=citations.length;while (h<=n && citations[n-h]>=h) h++;  //h始终小于总数return h-1;}
}

 运行结果:

如果您还有什么疑问或解答有问题,可在下方评论,我会及时回复。

系列持续更新中,点个订阅吧,喜欢练习算法那就点个攒吧 

http://www.lryc.cn/news/133427.html

相关文章:

  • MyBatis-Plus快速开始[MyBatis-Plus系列] - 第482篇
  • CF1003A Polycarp‘s Pockets 题解
  • 数据库厂商智臾科技加入龙蜥社区,打造多样化的数据底座
  • 一天赚四五十的副业,可以试试这几种
  • OpenCV 中的色彩空间 (C++ / Python)
  • 邀请函 | 高质量区块链·元宇宙—标准行系列沙龙(北京站)即将开启
  • php hmacsha256加密的算法
  • Spring源码编译教程
  • Python入门教程 | Python简介和环境搭建
  • 阿里云ECS服务器企业级和共享型介绍_企业级常见问题解答FAQ
  • leetcode做题笔记92. 反转链表 II
  • springboot引入druid解析sql
  • 学习笔记十九:Pod常见的状态和重启策略
  • Spring的ApplicationEvent简单使用
  • python程序员面试题之:set vs tuple vs list vs dict
  • STM32 F103C8T6学习笔记11:RTC实时时钟—OLED手表日历
  • 无法将“环境变量”项识别为 cmdlet、函数、脚本文件或可运行程序的名称(pycharm)
  • 基于图像链接的批量下载
  • mongodb使用心得
  • 学习Vue:响应式原理与性能优化策略
  • 神经网络基础-神经网络补充概念-43-梯度下降法
  • Reids之Set类型解读
  • 【网络基础】数据链路层
  • 云计算|OpenStack|使用VMware安装华为云的R006版CNA和VRM---初步使用(二)
  • Python typing函式庫和torch.types
  • UE5 编程规范
  • 交互消息式IMessage扩展开发记录
  • 软件团队降本增效-建立需求评估体系
  • npm yarn pnpm 命令集
  • python 开发环境(PyCharm)搭建指南