描述‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
输入以空格分隔的一系列数字,其中只有一个数字出现奇数次,其他的数都出现偶数次。找到并输出这个出现次数为奇数的数字。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬注意:本题部分用例有计算时间限制。
输入格式
输入数字以空格间隔,换行表示结束‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
例:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
1 1 2 2 3 4 4 10 10‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

输出格式

3

因题目明确有计算时间限制,所以要尽量提高效率,题目中有一个测试用例中有大量的重复元素,可以采用先将列表转集合,去掉里面大量的重复元素的方法,再统计剩余元素在原列表中出现的次数。

  1. ls = input().split() # 输入转列表
  2. for i in set(ls): # 列表转集合,去除重复元素,减少遍历次数,提高效率
  3. if ls.count(i) % 2 != 0: # 如果某元素在列表中存在的次数是奇数
  4. print(i) # 输出这个元素

可以用列表推导式实现:

  1. ls = input().split()
  2. [print(i) for i in set(ls) if ls.count(i) % 2 != 0]