LeetCode 刷题 - 136.只出现一次的数字

2019-03-26 13:55:11 +08:00
 Northxw

  题目描述:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。举个例子:

输入: [2,2,1]
输出: 1

  题简单,做一遍异或就出来了。思维很重要,这不,评论区翻出了一个我认为牛逼的 Python 解法:

return 2*sum(set(nums))-sum(nums)

  我想知道,这是什么原理啊! 小弟搞不清楚,请教啦。

4917 次点击
所在节点    程序员
41 条回复
lanshee
2019-06-03 19:31:58 +08:00
捋了下,不管是 sum 的还是位运算的,感觉就是成双成对的情侣里面有一个是单身汉,而情人节到了,情侣都去约会开房去了,最后剩下了那个单身汉.

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

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

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

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

© 2021 V2EX