274 H 指数
本文最后更新于:2022年4月9日 中午

给定一位研究者论文被引用次数的数组(被引用次数是非负整数)。编写一个方法,计算出研究者的 h 指数。
h 指数的定义:h 代表“高引用次数”(high citations),一名科研人员的 h 指数是指他(她)的 (N 篇论文中)总共有 h 篇论文分别被引用了至少 h 次。(其余的 N - h 篇论文每篇被引用次数 不超过 h 次。)
例如:某人的 h 指数是 20,这表示他已发表的论文中,每篇被引用了至少 20 次的论文总共有 20 篇。
示例:
1 |
|
提示:如果 h 有多种可能的值,h 指数是其中最大的那个。
Solution
- 先对引用数组逆序排序
- 对排序后的数组遍历,当
citations[i] >= i+1
,说明至少有i+1
篇论文被引用至少i+1
次,如果不满足,则返回h
。
1 |
|
- 对比:顺序排序,从后往前遍历
1 |
|
注:
从代码提交返回的 runtime
看,逆序排序消耗的时间比排序要大很多。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!