package LeetCode; public class LeetCode137_no { //思路:其他元素都出现了三次,按位计算每一位上1的个数,结果模3为1的那些位就是所求数二进制1所在的位。 // 出处:https://blog.csdn.net/w8253497062015/article/details/80058180 public static int singleNumber(int[] nums) { int result = 0; for (int i = 0; i < 32; i++) { int mask = 1 << i; int count = 0; for (int j = 0; j < nums.length; j++) { if ((mask & nums[j]) != 0) count++; } if (count % 3 == 1) result = mask | result; } return result; } }