在Python中计算下一个元素也在数组中的元素的程序
假设我们有一个数字列表,比如nums,我们要找出数组中元素x的数量,这些元素满足x + 1也存在于数组中。
所以,如果输入是nums = [4,2,3,3,7,9],那么输出将是3,因为2 + 1 = 3存在,3 + 1 = 4存在,另一个3也存在,所以总共有3个。
为了解决这个问题,我们将遵循以下步骤:
- 答案:= 0
-
c: = 包含nums中每个元素出现频率的列表
-
dlist: =来自c所有密钥列表的列表
-
对于dlist中的每个i,执行以下操作
- 如果c [i + 1]> 0,则
- 答案:=答案+ c [i]
- 如果c [i + 1]> 0,则
- 返回答案
例子
让我们看看以下实现,以更好地了解
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]
返回答案
nums = [4, 2, 3, 3, 7, 9]
print(solve(nums))
输入
[4,2,3,3,7,9]
输出
3