用 Python 统计数组中其后元素也出现在该数组中的元素个数的程序


假设我们有一个数字列表,称为 nums,则需要查找数组中元素 x 的数量,使其后的 x + 1 也存在该数组中。

因此,如果输入是 nums = [4, 2, 3, 3, 7, 9],则输出将为 3,因为 2+1 = 3 存在,3+1 = 4 存在,另外一个 3 存在,所以总计 3。

为了解决这个问题,我们将遵循以下步骤 −

  • answer := 0

  • c := 一个包含 nums 中每个元素频率的列表

  • dlist := 一个由 c 的所有键构成的列表

  • 对 dlist 中的每个 i 执行以下操作:

    • 如果 c[i + 1] > 0,则

      • answer := answer + c[i]

  • 返回 answer

示例

让我们看看以下实现以获得更好的理解

from collections import Counter
def solve(nums):
   answer = 0
   c = Counter(nums)
   dlist = list(c.keys())
   for i in dlist:
      if c[i + 1] > 0:
         answer += c[i]

   return answer

nums = [4, 2, 3, 3, 7, 9]
print(solve(nums))

输入

[4, 2, 3, 3, 7, 9]

输出

3

更新于: 11-Oct-2021

152 次浏览

启动你的职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.