137. Single Number II(js)

137. Single Number II

Given a non-empty array of integers, every element appears three times except for one, which appears exactly once. Find that single one.

Note:

Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?

Example 1:

Input: [2,2,3,2]
Output: 3

Example 2:

Input: [0,1,0,1,0,1,99]
Output: 99
题意:给定一个数组,存在唯一一个数字只出现一次,其他数字出现3次,找到这个只出现一次的数字
代码如下:
/**
 * @param {number[]} nums
 * @return {number}
 */
var singleNumber = function(nums) {
    let res=0;
    for(let i=0;i<32;i++){
        let sum=0;
        for(let j=0;j<nums.length;j++){
            sum+=(nums[j]>>i)&1;
        }
        res|=(sum%3)<<i;
    }
    return res;
};

 

posted @ 2019-05-30 23:26  mingL  阅读(160)  评论(0编辑  收藏  举报