python给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1
时间: 2023-05-19 13:04:57 浏览: 141
求值_python_方差_中位数_平均值_
5星 · 资源好评率100%
这个问题可以使用Python中的set和count函数来解决。首先将给定的n个整数放入一个set中,然后遍历set中的每个元素,检查set中是否存在该元素加1或减1的元素,如果存在,则将计数器加1。最后返回计数器的值即可。
以下是Python代码实现:
```
def count_pairs(nums):
num_set = set(nums)
count = 0
for num in num_set:
if num + 1 in num_set:
count += 1
if num - 1 in num_set:
count += 1
return count // 2
# 示例
nums = [1, 2, 3, 5, 6, 8, 9]
print(count_pairs(nums)) # 输出3
```
这个算法的时间复杂度是O(n),其中n是给定的整数个数。
阅读全文