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