如何计算LeetCode算法274中H指数的算法实现?
- 内容介绍
- 文章标签
- 相关推荐
本文共计207个文字,预计阅读时间需要1分钟。
274. H+ 指数代表H指数文章被引用至少h次。我们可以将引用次数逆序排列,展示引用次数从高到低。如果向前遍历数组,第i位上的值v,则表示至少被引用了v次。
274. H 指数
Ideas
H指数表示的是有h篇论文被引用了至少h次。
我们可以将citations逆序排列,表示引用次数从高到底排列。
如果我们从前向后遍历数组,那么第i位上值v,就表示至少有i篇文章引用次数大于等于v。
此时如果i又大于等于v,那么就说明第i位至少有i篇文章。
又因为i是下标,所以要判断 i + 1 和 v 的值。
Code
Python
class Solution:def hIndex(self, citations: List[int]) -> int:
citations.sort(reverse=True)
for i, v in enumerate(citations):
if i + 1 > v:
return i
return len(citations)
本文共计207个文字,预计阅读时间需要1分钟。
274. H+ 指数代表H指数文章被引用至少h次。我们可以将引用次数逆序排列,展示引用次数从高到低。如果向前遍历数组,第i位上的值v,则表示至少被引用了v次。
274. H 指数
Ideas
H指数表示的是有h篇论文被引用了至少h次。
我们可以将citations逆序排列,表示引用次数从高到底排列。
如果我们从前向后遍历数组,那么第i位上值v,就表示至少有i篇文章引用次数大于等于v。
此时如果i又大于等于v,那么就说明第i位至少有i篇文章。
又因为i是下标,所以要判断 i + 1 和 v 的值。
Code
Python
class Solution:def hIndex(self, citations: List[int]) -> int:
citations.sort(reverse=True)
for i, v in enumerate(citations):
if i + 1 > v:
return i
return len(citations)

