问题描述 给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。 输入格式 输入的第一行包含一个整数n,表示给定整数的个数。第二行包含所给定的n个整数。 输出格式 输出一个整数,表示值正好相差1的数对的个数。小数在前,大数在后,如有多组输出顺序按照第一个数字递增排序,重复数字只显示一组 样例输入6 10 2 6 3 7 8 样例输出 3 2 3 6 7 7 8 用Python语言写出
时间: 2023-05-23 22:05:16 浏览: 87
给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。
5星 · 资源好评率100%
一个可能的解法如下:
n = int(input())
nums = sorted(list(map(int, input().split())))
count = 0
result = []
for i in range(n):
j = i + 1
while j < n and nums[j] - nums[i] <= 1:
if nums[j] - nums[i] == 1:
count += 1
result.append((nums[i], nums[j]))
j += 1
print(count)
for pair in sorted(set(result)):
print(pair[0], pair[1])
阅读全文