Tcdian / keep

今天不想做,所以才去做。
MIT License
5 stars 1 forks source link

137. 只出现一次的数字 II #227

Open Tcdian opened 4 years ago

Tcdian commented 4 years ago

137. 只出现一次的数字 II

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。

Example 1

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

Example 2

Input: [0,1,0,1,0,1,99]
Output: 99

Note

Tcdian commented 4 years ago

Solution

/**
 * @param {number[]} nums
 * @return {number}
 */
var singleNumber = function(nums) {
    let result = 0;
    for (let i = 0 ; i < 32; i++) {
        let digitSum = 0;
        for (let j = 0; j < nums.length; j++) {
            digitSum += nums[j] >> i & 1;
        }
        result |= (digitSum % 3) << i; 
    }
    return result;
};
function singleNumber(nums: number[]): number {
    let result = 0;
    for (let i = 0 ; i < 32; i++) {
        let digitSum = 0;
        for (let j = 0; j < nums.length; j++) {
            digitSum += nums[j] >> i & 1;
        }
        result |= (digitSum % 3) << i; 
    }
    return result;
};