lintcode 中等题:Singleton number II 落单的数 II
2015-10-27 20:25
183 查看
题目
样例
给出 [1,1,2,3,3,3,2,2,4,1] ,返回 4
挑战
一次遍历,常数级的额外空间复杂度
解题
可以利用HashMap直接解决,时间复杂度和空间复杂度都是O(N)
1.map中存在该元素则:map.put(num,map.get(num) + 1)
2.map中不存在该元素则:map.put(num , 1)
3.map中这个元素出现次数等于三次,则删除该元素
空间复杂度最坏的情况是O(N*2/3)
Python Code
总耗时: 258 ms
表示不理解。。。
落单的数 II
给出3*n + 1 个的数字,除其中一个数字之外其他每个数字均出现三次,找到这个数字。样例
给出 [1,1,2,3,3,3,2,2,4,1] ,返回 4
挑战
一次遍历,常数级的额外空间复杂度
解题
可以利用HashMap直接解决,时间复杂度和空间复杂度都是O(N)
1.map中存在该元素则:map.put(num,map.get(num) + 1)
2.map中不存在该元素则:map.put(num , 1)
3.map中这个元素出现次数等于三次,则删除该元素
空间复杂度最坏的情况是O(N*2/3)
class Solution: """ @param A : An integer array @return : An integer """ def singleNumberII(self, A): # write your code here ones = 0 twos = 0 for num in A: ones = (ones ^ num) & (~twos) twos = (twos ^ num) & (~ones) return ones
Python Code
总耗时: 258 ms
表示不理解。。。
相关文章推荐
- JAVA三星题之Financial tsunami
- response的contentType 几种类型
- 使用matlab画不同填充图案的柱状图
- js中通过split函数分割字符串成数组小例子
- Windows7+Eclipse+jdk7+CentOS5.8+Hadoop2.7.1开发环境搭建
- java.util.Random 类的 nextInt(int num )
- JSP的学习(5)——语法知识三之include指令
- Activity与DialogFragment交互的方法
- 开源中国社区iOS客户端学习-(2)侧拉栏和设置界面
- 如何直接打印int[]数组
- 以我自己为核心
- Unity3D研究院之Assetbundle的原理(六十一)
- Matlab梯度下降及正规方程实现多变量的线性回归
- javascript客户端检测 记录一些“怪癖”
- 4.4.3 Framework Methods
- B/S工作原理
- Unity-- 一些功能转载
- ACdream 1101 瑶瑶想要玩滑梯
- 设置cmd为utf-8编码并通过批处理方式加快开机启动事项
- Unity3D研究院之将场景导出XML或JSON或二进制并且解析还原场景(四十)