如何计算LeetCode算法274中H指数的算法实现?

2026-05-26 12:520阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计207个文字,预计阅读时间需要1分钟。

如何计算LeetCode算法274中H指数的算法实现?

274. H+ 指数代表H指数文章被引用至少h次。我们可以将引用次数逆序排列,展示引用次数从高到低。如果向前遍历数组,第i位上的值v,则表示至少被引用了v次。


​​274. H 指数​​

Ideas

H指数表示的是有h篇论文被引用了至少h次。

如何计算LeetCode算法274中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分钟。

如何计算LeetCode算法274中H指数的算法实现?

274. H+ 指数代表H指数文章被引用至少h次。我们可以将引用次数逆序排列,展示引用次数从高到低。如果向前遍历数组,第i位上的值v,则表示至少被引用了v次。


​​274. H 指数​​

Ideas

H指数表示的是有h篇论文被引用了至少h次。

如何计算LeetCode算法274中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)