leetcode【217+219 Contains Duplicate I+II】【python】
来源:互联网 发布:复杂网络建模是什么 编辑:程序博客网 时间:2024/05/30 05:02
这两道题都是让我们找到数组中是否有重复的数字,这种查找题首先就要考虑hash查找了,毕竟快。
217这道直接用dict就好,出现超过两次直接返回即可。
class Solution(object): def containsDuplicate(self, nums): """ :type nums: List[int] :rtype: bool """ if len(nums) <=1 : return False temp = dict() for num in nums: if temp.has_key(num): temp[num] += 1 if temp[num] >=2: return True else: temp[num] = 1 return False
219除了要找到两个相同的数以外,还要求这两个数的index差值不超过k,其实还是用hash,这不过此时的value不能再存出现的次数,而是要记录index,这里要注意一旦两个相同的数出现,但是index超出了k,那么我们要更新这个value,使之成为最新的index,因为不更新的话再出现相同的数字,只会差值越大。
class Solution(object): def containsNearbyDuplicate(self, nums, k): """ :type nums: List[int] :type k: int :rtype: bool """ if len(nums) < 2: return False temp = dict() for i in range(len(nums)): if temp.has_key(nums[i]): if i - temp[nums[i]] <= k: return True else: temp[nums[i]] = i else: temp[nums[i]] = i return False
0 0
- leetcode【217+219 Contains Duplicate I+II】【python】
- leetcode[217&219&220]:Contains Duplicate I&II&III
- leetcode--217&219&220 Contains Duplicate(重复)I&II&III
- LeetCode.217(219) Contains Duplicate && II
- leetcode笔记--Contains Duplicate I & II & III
- leetcode 219: Contains Duplicate II
- LeetCode 219:Contains Duplicate II
- Contains Duplicate II - LeetCode 219
- Leetcode[219]-Contains Duplicate II
- LeetCode 219 Contains Duplicate II
- Leetcode 219 Contains Duplicate II
- 【Leetcode】Contains Duplicate II #219
- Leetcode 219 Contains Duplicate II
- leetcode 219:Contains Duplicate II
- LeetCode 219: Contains Duplicate II
- leetcode: (219) Contains Duplicate II
- leetcode 219: Contains Duplicate II
- [Leetcode]#219 Contains Duplicate II
- C++ primer 读书笔记7.2 ~7.6
- 让App的图标不显示
- backpropagation
- 关于static(静态)变量的一些理解
- wifi质量强度测试
- leetcode【217+219 Contains Duplicate I+II】【python】
- 如何自定义eclipse代码格式化(Ctrl+Shift+F)
- 台式机机箱前耳机插孔无法使用,在控制面版中无法找到Realtek音频管理器
- 重建二叉树
- android调试用到的各种命令
- angularJS自定义指令各配置项详解
- Oracle 外部表的一个介绍
- (第二周项目1)C/C++语言中函数参数传递的三种方式
- php中heredoc与nowdoc的使用方法