给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。 【输入形式】 输入的第一行包含一个整数n,表示给定整数的个数。 第二行包含所给定的n个整数。 【输出形式】 输出一个整数,表示值正好相差1的数对的个数。小数在前,大数在后,如有多组输出顺序按照第一个数字递增排序,重复数字只显示一组。
时间: 2024-02-22 14:55:55 浏览: 71
给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。
5星 · 资源好评率100%
好的,这是一道简单的算法题,可以用哈希表来解决。以下是Python的代码实现:
```python
n = int(input())
nums = list(map(int, input().split()))
num_set = set(nums) # 将数组转换为集合,去重
count = 0 # 用于记录符合条件的数对数量
for num in num_set:
if num + 1 in num_set:
count += 1
print(count)
```
算法的时间复杂度为O(n),空间复杂度为O(n)。
阅读全文