这道 Python 题目有大神会做吗?

2019 年 5 月 9 日
 kayseen
面试的时候遇到的,搞不懂,题目如下:

一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。 请找出这个数字,使用 python 实现
6198 次点击
所在节点    Python
47 条回复
wolegequ
2019 年 5 月 9 日
跟 py 无关,位运算
meik2333
2019 年 5 月 9 日
lv2016
2019 年 5 月 9 日
建立一个列表,从第一个数开始搜索,如果在列表里则删除,不在则加入,最后剩的数就是只出现一次的
lv2016
2019 年 5 月 9 日
@lv2016 发现自己菜的真实。。。
megachweng
2019 年 5 月 9 日
counter?
icreeper
2019 年 5 月 9 日
数组里所有数取异或,这题在 leetcode 有
megachweng
2019 年 5 月 9 日
```
from collections import Counter

l = [1, 1, 2, 3, 4, 5, 5, 4]
c = Counter(l)
print(c.most_common()[-1][0])

>>> 3
```
xabc
2019 年 5 月 9 日
数据放入集合,完成 😄

集合元素具有唯一性
mashpolo
2019 年 5 月 9 日
二进制的异或最快
justfortest
2019 年 5 月 10 日
遍历异或运算就行
CEBBCAT
2019 年 5 月 10 日
不仅菜,还不会搜索…… 上升空间有限啊,加油吧
azh7138m
2019 年 5 月 10 日
这不是菜,是蔡
inhzus
2019 年 5 月 10 日
reduce(lambda x, y: x ^ y, array)
dangyuluo
2019 年 5 月 10 日
pythonic 的办法是用 set 和 diff
huntzhan
2019 年 5 月 10 日
蔡得口交
Nimrod
2019 年 5 月 10 日
这种题就是你做一次以后都会做了
20015jjw
2019 年 5 月 10 日
xor
luclee1996
2019 年 5 月 10 日
luozic
2019 年 5 月 10 日
python 可以用异或或者位运算,空间复杂度是 O(1 ),不过时间复杂度 O(n)。
jmc891205
2019 年 5 月 10 日
改下题目:
一组数据中只有一个数字出现了一次。其他所有数字都是出现了多次的。 请找出这个数字。

还有什么讨巧的方法吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/562683

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX