Advertisement
sweet1cris

Untitled

Jan 9th, 2018
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.71 KB | None | 0 0
  1. public class Solution {
  2.     /**
  3.      * @param A : An integer array
  4.      * @return : Two integers
  5.      */
  6.     public List<Integer> singleNumberIII(int[] A) {
  7.         int xor = 0;
  8.         for (int i = 0; i < A.length; i++) {
  9.             xor ^= A[i];
  10.         }
  11.        
  12.         int lastBit = xor - (xor & (xor - 1));
  13.         int group0 = 0, group1 = 0;
  14.         for (int i = 0; i < A.length; i++) {
  15.             if ((lastBit & A[i]) == 0) {
  16.                 group0 ^= A[i];
  17.             } else {
  18.                 group1 ^= A[i];
  19.             }
  20.         }
  21.        
  22.         ArrayList<Integer> result = new ArrayList<Integer>();
  23.         result.add(group0);
  24.         result.add(group1);
  25.         return result;
  26.     }
  27. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement