1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| public class SingleNumberII {
public static int singleNumber(int[] nums) { int ans = 0; int mask; for (int i=0; i<32; i++) { mask = 1 << i; int t = 0; for (int n: nums) { t += mask & n; } if (t%3 == 1){ ans |= mask; } } return ans; } public static void main(String[] args) { int[] test = new int[]{1,1,1,2,2,2,3,3,3,4}; System.out.println(singleNumber(test)); } }
|