异或位运算实战算法题
原题目:给定一个由多个数字组成的数组arr,数字a出现了k次,其他数字都出现了m次,找到这出现k数次的a数字, 其中m>1, k<m, 要求时间复杂度O(N) 空间复杂度O(1)用js写了个对数器,其中test方法是暴力法,onlyKTimes是最优解。xorSwap是不包含临时变量的交换a,b两数字方法,利用了异或运算的3个特性,具体变化过程写在备注里了。// 经典高难题,K,M异或,囊括异或的高级用法// 给定一个由多个数字组成的数组arr,数字a出现了k次,其他数字都出现了m次
原创
2021-06-05 17:58:16 ·
163 阅读 ·
0 评论