为了账号安全,请及时绑定邮箱和手机立即绑定

如何理解利用按位异或来得到数组中不重复的项?

如何理解利用按位异或来得到数组中不重复的项?

犯罪嫌疑人X 2019-02-22 16:44:33
var singleNumber = function(nums) { for(var i = 1,len = nums.length;i<len;i++) { nums[0] ^= nums[i] } return nums[0] }; 获取数组中只出现过一次的数字的算法,用到了XOR,但不太能理解 singleNumber([1,3,1,4,6,4,6,5,3]) [3, 3, 1, 4, 6, 4, 6, 5, 3] [7, 3, 1, 4, 6, 4, 6, 5, 3] [1, 3, 1, 4, 6, 4, 6, 5, 3] [5, 3, 1, 4, 6, 4, 6, 5, 3] [3, 3, 1, 4, 6, 4, 6, 5, 3] [6, 3, 1, 4, 6, 4, 6, 5, 3] [5, 3, 1, 4, 6, 4, 6, 5, 3] 只记得自身的XOR会得到0
查看完整描述

2 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

没意义,你只有假设整个数组,只有唯一一个奇数出现的数字。有这样的场景吗?

查看完整回答
反对 回复 2019-03-01
  • 2 回答
  • 0 关注
  • 456 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信