描述

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。

说明:

你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?

示例 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;
}

最新文章

  1. TaintDroid剖析之Native方法级污点跟踪分析
  2. java设计模式(二)---工厂方法模式
  3. 详解CALayer 和 UIView的区别和联系
  4. Gradient Boosting Decision Tree学习
  5. Nginx学习笔记(三) Nginx基本数据结构
  6. windows下修改mysql用户名和密码
  7. 为什么要urlencode
  8. linux安全体系
  9. 支付宝APP支付(Java后台生成签名具体步骤)
  10. BZOJ 1798: [Ahoi2009]Seq 维护序列seq( 线段树 )
  11. Accord.Net中决策树
  12. document.all使用
  13. 圣魔大战3(Castle Fantisia)艾伦希亚战记改动器/秘籍——究极改动大法
  14. 关于json和字符串之间的转换
  15. Unity3D手机斗地主游戏开发实战(01)_发牌功能实现
  16. 【CF618F】Double Knapsack(构造)
  17. python前后端加密方式
  18. MyBatis-进阶1
  19. mongodb 按配置文件mongodb.conf启动
  20. Spark(十)Spark之数据倾斜调优

热门文章

  1. 【444】Data Analysis (shp, arcpy)
  2. Java合并(连接)多个音频
  3. Python - Django - ORM 聚合查询和分组查询
  4. AD 常用策略
  5. ecshop添加商品筛选功能
  6. Linux下,postgreSQL的查看与重启
  7. 【GStreamer开发】GStreamer基础教程03——动态pipeline
  8. Django 之memcached的应用
  9. SORRY_FOR_MY_LIFE
  10. es操作手册