重复元素中快速查找到无重复的元素

164 阅读1分钟

hello 大家好,今天带你了解一个快速查找一个数组中不重复的元素

1.我先带大家了解一下异或运算中的快速比较两个值 ^ image.png

异或的3个特点:

  (1) 0^0=0,0^1=1 0异或任何数=任何数

  (2) 1^0=1,1^1=0 1异或任何数-任何数取反

  (3) 任何数异或自己=把自己置0 (4) 将数据转换为二进制进行比较

0 ^ 1 = 1   输出: 1    
1 ^ 1 = 0   输出: 0

上题: var num = [1,1,2,2,3,3,4] 求数组中不重复的元素,并返回它

    function one(s){   //形参,用于接收我们要查找的数组
         let a = 0     //表示初始值
         for(let i in s){
             a ^= s[i]
         }
         return a
    }
    
    var num = [1,1,2,2,3,3,4]
    console.log(one(num))  //输出4