题目描述
现在给你n个数字,但是其中混入了一只特立独行的数。
你需要从这n个数字中,找出那个与众不同的数字出来。
具体如何与众不同,请自行研究样例。
输入格式
输入包括两行,第一行一个整数n。
接下来一行,n个空格隔开的整数,表示这n个数。
输入数据保证那个与众不同的数字,真的就是与众不同的。
3≤n≤100
输出格式
输出一个整数,表示那个与众不同的数,在原数列中的编号(编号从1开始)
题目描述
现在给你n个数字,但是其中混入了一只特立独行的数。
你需要从这n个数字中,找出那个与众不同的数字出来。
具体如何与众不同,请自行研究样例。
输入格式
输入包括两行,第一行一个整数n。
接下来一行,n个空格隔开的整数,表示这n个数。
输入数据保证那个与众不同的数字,真的就是与众不同的。
3≤n≤100
输出格式
输出一个整数,表示那个与众不同的数,在原数列中的编号(编号从1开始)
【以下回答由 GPT 生成】
解决方案
这个问题可以通过遍历给定的数字列表,统计每个数字的出现次数来解决。由于只有一个数字与众不同,所以除了该数字外,其他数字的出现次数都应该相同。
步骤如下:
下面是用Python编写的代码实现:
def find_unique_number(numbers):
count_dict = {} # 字典用于存储数字的出现次数
for i in range(len(numbers)):
if numbers[i] in count_dict:
count_dict[numbers[i]] += 1
else:
count_dict[numbers[i]] = 1
for number, count in count_dict.items():
if count == 1:
return numbers.index(number) + 1
# 读取输入的数字列表和数字个数
n = int(input())
numbers = list(map(int, input().split()))
# 调用函数找到与众不同的数字的编号
result = find_unique_number(numbers)
# 输出结果
print(result)
这个算法的时间复杂度是O(n),其中n是数字个数。即使n最大为100,算法的运行时间也非常快。
【相关推荐】