LeetCode(剑指 Offer)- 56 - II. 数组中数字出现的次数 II
Posted 放羊的牧码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode(剑指 Offer)- 56 - II. 数组中数字出现的次数 II相关的知识,希望对你有一定的参考价值。
题目链接:点击打开链接
题目大意:略
解题思路
相关企业
- 字节跳动
AC 代码
- Java
class Solution
public int singleNumber(int[] nums)
int[] counts = new int[32];
for(int num : nums)
for(int i = 0; i < 32; i++)
counts[i] += num & 1; // 更新第 i 位 1 的个数之和
num >>= 1; // 第 i 位 --> 第 i 位
int res = 0, m = 3;
for(int i = 31; i >= 0; i--)
res <<= 1;
res |= counts[i] % m; // 恢复第 i 位
return res;
- C++
class Solution
public:
int singleNumber(vector<int>& nums)
int counts[32] = 0; // C++ 初始化数组需要写明初始值 0
for(int num : nums)
for(int i = 0; i < 32; i++)
counts[i] += num & 1; // 更新第 i 位 1 的个数之和
num >>= 1; // 第 i 位 --> 第 i 位
int res = 0, m = 3;
for(int i = 31; i >= 0; i--)
res <<= 1;
res |= counts[i] % m; // 恢复第 i 位
return res;
;
以上是关于LeetCode(剑指 Offer)- 56 - II. 数组中数字出现的次数 II的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode(剑指 Offer)- 56 - I. 数组中数字出现的次数
LeetCode(剑指 Offer)- 56 - I. 数组中数字出现的次数
LeetCode(剑指 Offer)- 56 - II. 数组中数字出现的次数 II
LeetCode(剑指 Offer)- 56 - II. 数组中数字出现的次数 II