DEV Community

Shelner
Shelner

Posted on

Single Number


import java.util.HashSet;
import java.util.Set;

public class SingleNumber {
    public static void main(String[] args) {
        SingleNumber singleNumber = new SingleNumber();
        int[] nums = {4, 2, 7, 7, 2};
        int result = singleNumber.findSingleNumberXor(nums);
        System.out.println(result);
    }
    public int findSingleNumber(int[] nums) {
        Set<Integer> set = new HashSet<>();
        for (int i = 0; i < nums.length; i++) {
            if (set.contains(nums[i])) {
                set.remove(nums[i]);
            } else {
                set.add(nums[i]);
            }
        }
        return set.iterator().next();
    }

    public int findSingleNumberXor(int[] nums) {
        int singleNum = 0;
        for (int num : nums) {
            singleNum = singleNum ^ num;
        }
        return singleNum;
    }
}
Enter fullscreen mode Exit fullscreen mode

Top comments (0)