Single Number III
2015-09-13 16:36
344 查看
Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once.
For example:
Given nums = [1, 2, 1, 3, 2, 5], return [3, 5].
Note:
The order of the result is not important. So in the above example, [5, 3] is also correct.
Your algorithm should run in linear runtime complexity. Could you implement it using only constant space complexity?
int* singleNumber(int* nums, int numsSize, int* returnSize) {
}
For example:
Given nums = [1, 2, 1, 3, 2, 5], return [3, 5].
Note:
The order of the result is not important. So in the above example, [5, 3] is also correct.
Your algorithm should run in linear runtime complexity. Could you implement it using only constant space complexity?
int* singleNumber(int* nums, int numsSize, int* returnSize) {
int temp = 0; for (int i = 0; i < numsSize; i++) { temp ^= nums[i]; } int count = 0; while ((temp & 0x01) != 1) { count++; temp = temp >> 1; } *returnSize = 2; int* resNums = (int*)malloc(sizeof(int)*(*returnSize)); resNums[0] = 0; resNums[1] = 0; for (int i = 0; i < numsSize; i++) { if ((nums[i]>>count) & 0x01) { resNums[0] ^= nums[i]; } else { resNums[1] ^= nums[i]; } } return resNums;
}
相关文章推荐
- hdu 3966 树链分割第一3遍
- 使用 CSS 媒体查询创建响应式网站
- 3d相册弹出效果02
- [原]MySQL哈希之哈希索引
- 中间件简介
- aix参考
- Python二分查找详解
- HTML基本语言规则
- HDU 5446 Unknown Treasure (2015年长春赛区网络赛J题)
- jquery统一关闭浏览器缓存
- HDU 5442 后缀自动机+kmp
- 如何创建无名文件夹?
- POJ 2385 Lake Counting (dfs_连通性)
- JS继承及原型链
- 《剑指offer》正则表达式匹配
- hibernate3(4)
- hibernate3(3)
- Linux C语言程序设计(十九)——基于UDP的网络编程
- 安装Fedora双系统
- Visual Studio 2013新建工程导入现有代码文件夹并且保持目录结构