博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Single Number III(LintCode)
阅读量:6242 次
发布时间:2019-06-22

本文共 1046 字,大约阅读时间需要 3 分钟。

Single Number III

Given 2*n + 2 numbers, every numbers occurs twice except two, find them.

Example

Given [1,2,2,3,4,4,5,3] return 1 and 5

Challenge

O(n) time, O(1) extra space.

 

 

可耻的百度了。。

还是好理解的。当然不一定要用最低位的1,任意找一个1即可。不过有lowbit = xor & -xor 这个公式当然是这个比较快。。

1 public class Solution { 2     /** 3      * @param A : An integer array 4      * @return : Two integers 5      */ 6     public List
singleNumberIII(int[] A) { 7 List
list = new ArrayList
(); 8 9 int x = 0;10 for(int a : A) {11 x = x ^ a;12 }13 int lowbit = x & (-x);14 int a = 0;15 int b = 0;16 for(int y : A) {17 if((y & lowbit) == 0) {18 a = a ^ y;19 }else {20 b = b ^ y;21 }22 }23 24 25 list.add(a);26 list.add(b);27 return list;28 }29 }
View Code

 

转载于:https://www.cnblogs.com/FJH1994/p/5031517.html

你可能感兴趣的文章
折半插入排序(binary insertion sort)
查看>>
打包常见问题
查看>>
javascript解析json
查看>>
在Ubuntu下编译WebKit源码
查看>>
amazeui 移动开发
查看>>
python2 与python3中最大的区别(编码问题bytes&str
查看>>
HDU 2243 AC自动机+DP+矩阵
查看>>
什么叫脱字符合^
查看>>
git版本控制管理实践-2
查看>>
HTTP基础知识(三)
查看>>
如何有效释放DB2所占的磁盘空间?
查看>>
三分法
查看>>
第 8 章 容器网络 - 058 - flannel 概述
查看>>
Mongodb删除collection
查看>>
ArcEngine应用程序中无法实现TOC图层多选
查看>>
Java-笔记9-复习
查看>>
python---基本数据结构
查看>>
Windows下JDK,Tomcat,Eclipse安装配置
查看>>
vue的checkbox或多选的select的代码例子
查看>>
es6-Set和Map数据结构
查看>>