Problem 137

Posted by Ruizhi Ma on October 27, 2020

Solution URL

https://leetcode.com/submissions/detail/413991852/

代码

class Solution {
    public int singleNumber(int[] nums) {
        //ans: https://www.youtube.com/watch?v=puXcQpwgcD0
        //corner case
        if(nums.length == 1) return nums[0];

        int res = 0;

        for(int i = 0; i < 32; i++){
            int sum = 0;
            for(int num: nums){
                //对每一个数,都要对第i位累加,并且对3取模,实现不进位加法
                sum += (num >> i) & 1;
                sum %= 3;
            }

            //sum每次计算完左移i次,返还给res
            res = res | (sum << i);
        }

        return res;
    }
}

0 comments
Anonymous
Error: Bad credentials.
Markdown is supported

Be the first person to leave a comment!