LeetCode(260) Single Number III
2015-08-29 18:30
302 查看
参考https://leetcode.com/discuss/52757/16ms-c-solution
大概的思路:
1、make a filter
2、取出相应位不为0的数
3、再算出另一个数
结论:异或相同的数两次等于本身,即相同的数产生的异或作用会被抵消 |
1、make a filter
2、取出相应位不为0的数
3、再算出另一个数
[code]class Solution { public: vector<int> singleNumber(vector<int>& nums) { //make a filter int xory = 0; for(int i = 0; i < nums.size(); i++) xory ^= nums[i]; int lowestBit = xory & (~(xory - 1)); //fetch the one whose certain bit is not 0 int x = 0; for(int i = 0; i < nums.size(); i++) if(nums[i] & lowestBit) x ^= nums[i]; int y = xory ^ x; vector<int> result; result.push_back(x); result.push_back(y); return result; } };
相关文章推荐
- 总结css实现固定和自适应宽度混合的多栏布局实现方法
- JS 判断当前的浏览器是Android 还是IOS
- LaTeX调用算法宏包
- Codeforces Round #303 (Div. 2)
- 第3讲:导入表的定位和读取操作
- HDU 1075 What Are You Talking About(map+字符串)
- Python 函数之参数、局部变量
- 求二叉树叶子节点的个数
- 如何确定一个数组中的最大值
- 关于安装JDK不当--找不到或无法加载主类 com.sun.tools.javac.Main问题
- 有关findviewbyid 一个错误用法
- 第2讲:搜索PEB结构获取kernel32.dll的基址暴力搜索内存空间获得 Api 的线性地址
- 项目总结---- imageLoder 的2个Bug解决方法、1.9.4如何选择性删除disk缓存和其它一些错误。
- oracle dblink创建
- 暑假-二分图-E - Girls and Boys
- 为好基友做了个豆瓣相册下载助手,在这里记录分享一下
- MYSQL的添加字段和修改字段
- 控制并发调用接口数
- MongoDB学习十--MongoDB的Replication Introduction
- 树莓派2代(RaspberryPi2)配合温度传感器DS18B20获取温度