Leetcode76: Single Number II
来源:互联网 发布:内地网络恐怖片 编辑:程序博客网 时间:2024/06/07 10:42
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?
两种解法都是通用的,但并不是最快的。
解法一:
class Solution {public: int singleNumber(vector<int>& nums) { if(nums.size() == 0) return 0; else if(nums.size() == 1) return nums[0]; sort(nums.begin(), nums.end()); for(int i = 0; i < nums.size()-1;) { if(nums[i] == nums[i+1]) i+=3; else { return nums[i]; } if(i == nums.size()-1) return nums[i]; } }};
解法二:
class Solution {public: int singleNumber(vector<int>& nums) { int res = 0; int bit[32] = {0}; for(int i = 0; i < 32; i++) { for(int j = 0; j < nums.size(); j++) { bit[i] += (nums[j]>>i) & 1; } res |= (bit[i]%3)<<i; } return res; }};
0 0
- Leetcode76: 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
- css3变形
- Objective-C Runtime Messaging
- 转载:UICollectionReusableView的用法
- ${pagecontext.request.contextpath}作用
- 九大排序算法再总结
- Leetcode76: Single Number II
- Linux中U盘的挂载、卸载、格式化
- spring oauth2.0入门(实战)
- linux驱动之input设备
- C++ 异常处理
- __attribute__((regparm(n)))
- hiho1233 Boxes 记忆化搜索
- Android常用调试命令
- sicily 1021. Couples