【leetcode78】Single Number II
来源:互联网 发布:婚礼堵门游戏 知乎 编辑:程序博客网 时间:2024/06/05 05:50
题目描述:
给定一个数组,里面除了一个数字,其他的都出现三次。求出这个数字
原文描述:
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?
Subscribe to see which companies asked this question
思路:
- 设置一个32位的数组,然然后对数组,Array【i】代表i位的1个数,统计整个数组nums【】的数字,对于每个Array【i】做mod3的运算
- 遍历nums【】数组时候,是左移&1取出,加到Array【i】上面,然后mod3
- 最后右移加到result上面
代码:
// Single Number II// 方法1,时间复杂度O(n),空间复杂度O(1)public class Solution { public int singleNumber(int[] nums) { final int W = Integer.SIZE; // 一个整数的bit数,即整数字长 int[] count = new int[W]; // count[i]表示在在i位出现的1的次数 for (int i = 0; i < nums.length; i++) { for (int j = 0; j < W; j++) { count[j] += (nums[i] >>> j) & 1; count[j] %= 3; } } int result = 0; for (int i = 0; i < W; i++) { result += (count[i] << i); } return result; }};
更多的leetcode的经典算法,查看我的leetcode专栏,链接如下:
leetcode专栏
我的微信二维码如下,欢迎交流讨论
欢迎关注《IT面试题汇总》微信订阅号。每天推送经典面试题和面试心得技巧,都是干货!
微信订阅号二维码如下:
1 1
- 【leetcode78】Single Number II
- Single Number & Single Number II
- Single Number & Single Number II
- Single Number II - leetcode
- Leetcode: Single Number II
- Single Number II
- Single Number II
- [LeetCode] Single Number II
- LeetCode: Single Number II
- leetcode -- Single Number II
- [leetcode]Single Number II
- [LeetCode] Single Number II
- 【leetcode】Single Number II
- Single Number I & II
- LeetCode:Single Number II
- Leetcode: Single Number II
- Single Number II
- leetcode :Single Number II
- poj3613 Cow Relays
- Hibernate持久化对象的状态(1)
- 关于react-native不能热加载的解决方法
- 将QT窗口嵌入到MFC中的方案
- ios9新特性之关键字
- 【leetcode78】Single Number II
- iOS之WebView的使用总结
- 白色网格统计poj1656-Counting Black
- 【javase复习】## day5 多态内存分析、 内部类 ##
- Windows版本搭建安装React Native环境配置
- Eclipse开启断言(Assert)
- 轻量级框架
- C++ String
- hibernate