Loading

剑指 Offer 56 - I. 数组中数字出现的次数

class Solution {
    public int[] singleNumbers(int[] nums) {
        int xy = 0;
        for(int num: nums){
            xy ^= num;
        }
        int k = 0;
        while((xy >> k & 1) == 0){
            k++;
        }

        int x = 0;
        for(int num:nums){
            if( (num >> k & 1) != 0){
                x ^= num;
            }
        } //第一部分

        int y = xy ^= x;
        return new int[]{x,y};

    }   
}
posted @ 2021-04-12 15:22  想用包子换论文  阅读(23)  评论(0编辑  收藏  举报