python_lintcode_82落单的数_83落单的数 II_84落单的数 III
2017-09-25 16:39
411 查看
82落单的数
题目
http://www.lintcode.com/zh-cn/problem/single-number/给出2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。
样例
给出 [1,2,2,1,3,4,3],返回 4
思路
sort()进行升序,下标为偶数为新的比较值j,下标为奇数的与前一个数即j进行比较,下同,则j=下一个偶数,否则,return 奇数的前一个最后,还有一种可能就是落单的数是最后一个数。o(n)
代码
class Solution: """ @param: A: An integer array @return: An integer """ def singleNumber(self, A): # write your code here if A==[]:return 0 A.sort() j=0 for i in range(len(A)): #偶数 if i==0 or i%2==0: j=A[i] else: if A[i]!=j: return j return A[-1]
83落单的数 II
题目
http://www.lintcode.com/zh-cn/problem/single-number-ii/给出3*n + 1 个的数字,除其中一个数字之外其他每个数字均出现三次,找到这个数字。
样例
给出 [1,1,2,3,3,3,2,2,4,1] ,返回 4
代码
class Solution: """ @param: A: An integer array @return: An integer """ def singleNumberII(self, A): # write your code here if A==[]:return 0 A.sort() j=0 k=0 for i in range(len(A)): if k==0 or k%3==0: j=A[i] else: if A[i]!=j: return j k+=1 return A[-1]
84落单的数 III
题目
给出2*n + 2个的数字,除其中两个数字之外其他每个数字均出现两次,找到这两个数字。您在真实的面试中是否遇到过这个题? Yes
样例
给出 [1,2,2,3,4,4,5,3],返回 1和5
代码
class Solution: """ @param: A: An integer array @return: An integer array """ def singleNumberIII(self, A): # write your code here if A==[]:return 0 A.sort() j=0 B=[] for i in range(len(A)): #偶数 if i==0 or (i+len(B))%2==0: j=A[i] else: if A[i]!=j: B.append(j) j=A[i] if len(B)==2: return B B.append(A[-1]) return B
相关文章推荐
- python_lintcode_47主元素_47主元素 II_48主元素 III
- python_lintcode_64合并排序数组 II_60搜索插入位置_142 O(1)时间检测2的幂次
- python_lintcode_115不同的路径 II_112删除排序链表中的重复元素
- lintcode 刷题-两数组的交 II Python
- LintCode Python 丑数II
- LintCode:46. 主元素I VS 47. 主元素 II VS 48. 主元素 III
- [Leetcode][python]Best Time to Buy and Sell Stock I/II/III
- python - LintCode 4. 丑数 II
- LintCode 买卖股票的最佳时机I II III IV
- leetcode_[python/C++]_121/122/123/188.Best Time to Buy and Sell Stock I/II/III/IV
- leetcode single number I II III [python]
- lintcode刷题(python)——(4)
- LeetCode--350. Intersection of Two Arrays II(两个数组的交集)Python
- lintcode,搜索二维矩阵 II
- lintcode-Segmemt Tree Build II-439
- LeetCode Search a 2D Matrix I,II,III (74,240)
- LintCode: Single Number II
- 【LintCode】 Best Time to Buy and Sell Stock III 买卖股票的最佳时机 III
- Lintcode——两数组的交 II
- Windows Presentation Foundation Introduction(III) - User Interfaces Part II