落单的数
难度:简单
描述:
给出 2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。
样例:
给出 [1,2,2,1,3,4,3]
,返回 4
给出 [7, 10001, 10002, 10003, 10001, 10002, 10003, 10004, 7, 10004, 91985345, 2, 2, 3, 4, 5, 5, 4, 3, 11, 91985345]
,返回11
思路分析:
有很多解决方式,建议用indexOf
来查找是否有值。
代码模板:
1 | /** |
想一想再看答案
想一想再看答案
想一想再看答案
代码:
- 转对象,如果第二次出现,删除该值,最后只剩一个值
1 | const singleNumber = function (A) { |
- 查找该值的前后是否有该值,如果没有,即找到落单的值
1 | const singleNumber = function (A) { |
- 转成本地变量操作,将该值删除,再查找是否有该值,如果没有即找到该值
1 | const singleNumber = function (A) { |
鼓励我一下:
觉得还不错的话,给我的点个star吧