[LeetCode] 137. 只出现一次的数字,其余三次 II ☆☆☆
2024-09-21 10:20:16
描述
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。
说明:
你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?
示例 1:
输入: [2,2,3,2]
输出: 3
示例 2:
输入: [0,1,0,1,0,1,99]
输出: 99
解析
int数组,32位,用一个32位的int数组,每一位表明一个int值在此位上是0还是1。
其余元素出现3次,最后加起来肯定 %3 = 0。
public int singleNumber(int[] nums) {
int[] bit = new int[32];
for (int i = 0; i < bit.length; i++) {
for (int num : nums) {
int temp = num >> i;
bit[i] += temp & 1;
}
} int res = 0;
for (int i = 0; i < bit.length; i++) {
if (bit[i] % 3 != 0) {
res += (1 << i);
}
}
return res;
}
最新文章
- TaintDroid剖析之Native方法级污点跟踪分析
- java设计模式(二)---工厂方法模式
- 详解CALayer 和 UIView的区别和联系
- Gradient Boosting Decision Tree学习
- Nginx学习笔记(三) Nginx基本数据结构
- windows下修改mysql用户名和密码
- 为什么要urlencode
- linux安全体系
- 支付宝APP支付(Java后台生成签名具体步骤)
- BZOJ 1798: [Ahoi2009]Seq 维护序列seq( 线段树 )
- Accord.Net中决策树
- document.all使用
- 圣魔大战3(Castle Fantisia)艾伦希亚战记改动器/秘籍——究极改动大法
- 关于json和字符串之间的转换
- Unity3D手机斗地主游戏开发实战(01)_发牌功能实现
- 【CF618F】Double Knapsack(构造)
- python前后端加密方式
- MyBatis-进阶1
- mongodb 按配置文件mongodb.conf启动
- Spark(十)Spark之数据倾斜调优