给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案

class Solution {

    public int[] singleNumber(int[] nums) {

        int sign=0;

        int[] ans=new int[2];

        

        for(int i=0;i<nums.length;i++)

            sign^=nums[i];

        sign&=-sign;

        for(int i=0;i<nums.length;i++)

        {

            if((sign&nums[i])>0)

                ans[0]^=nums[i];

            else

                ans[1]^=nums[i];

        }

        

        return ans;

    }

}

上一篇:js 判断一个点是否在一个三角形内部-摘自Stack Overflow


下一篇:Oracle中decode函数用法解析以及常用场景