137. Single Number II
来源:互联网 发布:如何查看淘宝产品排名 编辑:程序博客网 时间:2024/06/13 10:37
Given an array of integers, every element appears three times except for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
线性时间,常量空间
java中int是4字节,用一个32位的数组来存储每一位中1的个数,若循环一遍后,某位中1的个数不是3的倍数,则代表那个只出现一次的数的这位为1;
public int singleNumber(int[] nums) { int[] bit=new int[32]; for(int i=0;i<nums.length;i++){ for(int j=0;j<32;j++){ bit[j]+=(nums[i]>>j)&1; } } int result=0; for(int i=0;i<32;i++){ if(bit[i]%3!=0) result|=1<<i; } return result; }
0 0
- 137.Single Number II
- 137. Single Number II
- 137. Single Number II
- 137. Single Number II
- 137. Single Number II
- 137. Single Number II
- 137. Single Number II
- 137. Single Number II
- 137. Single Number II
- 137. Single Number II
- 137. Single Number II
- 137. Single Number II
- 137. Single Number II
- 137. Single Number II
- 137. Single Number II
- 137. Single Number II
- 137. Single Number II
- 137. Single Number II
- 解析json
- C++ 公有继承的注意要点
- 视频通话与媒体流传输协议
- 在网页中把所想要表达的东西显示在输入框中
- Masonry使用
- 137. Single Number II
- 自定义menu菜单
- GridControl控件如何绑定数据
- Java字符串连接的性能问题
- U3D 新UI系统UGUI 的recttransform一些参数的设置
- android studio 查看默认签名
- 读取从begin到end文件内容,并编码
- 分享自己最近收集关于注册Windows服务的技术文章
- socket:通常每个套接字地址(协议/网络地址/端口)只允许使用一次