好久没写代码了,挺不习惯的哈哈哈。
做一题简单的练练手
一.题目
Given an array, find the int that appears an odd number of times.
There will always be only one integer that appears an odd number of times.
很简短的两句话,翻译的话就是:
给一个列表,找出那个出现了奇数次的整数
每个列表中只有一个整数是出现了一次的
举个栗子
test.assert_equals(find_it([20,1,-1,2,-2,3,3,5,5,1,2,4,20,4,-1,-2,5]), 5)
在列表中,只有5出现了奇数次(3次),所以输出5。
二.代码和思路
先上代码
代码
def find_it(seq):
list_set = set(seq)
for item in list_set:
if seq.count(item)%2 == 1:
return item
思路
这题目简短,也很简单,就是简单的计数而已。
1.先确定列表中有哪些数字。
2.对数字计数,出现奇数次则输出。
确定列表有哪些数字用集合,统计次数则用列表的count方法。
三.最优代码解
Best Practics.png
第一种方法的话,思路和我们相同。
第二种的话我是第一次碰到这个库,容我花时间研究下再来补上
四.总结
这题几乎没什么难度,就是计数判断而已。所以也没啥好总结的啦,不过这个operator库倒是有点意思啦,到时候花点时间学习下。
网友评论