274. H指数
分析
将引用次数降序排序。排序后,论文的引用次数是递减的,若第 i
篇论文(索引为 i - 1
)的引用次数大于等于 i
,则前面 i - 1
篇论文的引用次数也大于等于 i
,,那么就有至少 i
篇论文的引用次数大于等于 i
,即满足 H
指数条件
- 降序排序:
- 将引用次数从大到小排序,便于直接比较引用次数与当前索引
i
- 将引用次数从大到小排序,便于直接比较引用次数与当前索引
- 遍历判断:
- 从
i = n ~ 1
(n
为论文总数),逐步判断 - 如果第
i
篇论文的引用次数citations[i - 1] >= i
,则满足H
指数定义 - 返回当前
i
即为最大H
指数
- 从
- 未找到满足条件的
H
指数:- 如果遍历结束都没有找到,返回
0
- 如果遍历结束都没有找到,返回
时间复杂度
- 排序需要
O(nlogn)
时间 - 遍历一次数组
O(n)
总体复杂度:O(nlogn)
空间复杂度
空间复杂度为 O(1)
C++代码
|
|