一、题目内容

image.png

二、题解

解法1:

思路

image.png

代码

  1. public class Solution {
  2. public int singleNumber(int[] nums) {
  3. int[] counts = new int[32];
  4. for (int num : nums) {
  5. for (int i = 0; i < 32; i++) {
  6. counts[i] += num & 1; // 更新第 i 位 1 的个数之和
  7. num >>= 1; // 第 i 位 --> 第 i 位
  8. }
  9. }
  10. int res = 0, m = 3;
  11. for (int i = 31; i >= 0; i--) {
  12. res <<= 1;
  13. res |= counts[i] % m; // 恢复第 i 位
  14. }
  15. return res;
  16. }
  17. }