【Leetcode】Contains Duplicate II
来源:互联网 发布:闪字风扇软件下载 编辑:程序博客网 时间:2024/06/04 22:19
题目链接:https://leetcode.com/problems/contains-duplicate-ii/
题目:
Given an array of integers and an integer k, find out whether there are two distinct indices i and j in the array such that nums[i] = nums[j] and the difference between i and j is at most k.
思路:
1、用HashMap保存元素的下标,如果出现重复元素,则判断是否满足 i-j<=k,不满足则更新HashMap保存的下标,因为后面的元素可能还有重复,要跟最近的重复元素比较距离。
2、用Set,具体看代码。。。时间久了我也忘了具体怎么做的。。。。
算法1:
public boolean containsNearbyDuplicate(int[] nums, int k) {HashMap<Integer, Integer> set = new HashMap<Integer, Integer>();for (int i = 0; i < nums.length; i++) {if (!set.containsKey(nums[i])) {set.put(nums[i], i);// 记录起始位置} else {if (i - set.get(nums[i]) <= k) {return true;} else {set.put(nums[i], i);}}}return false;}
算法2:
public boolean containsNearbyDuplicate(int[] nums, int k) {Set<Integer> set = new HashSet<Integer>();int start = 0, end = 0;for (int i = 0; i < nums.length; i++) {if (!set.contains(nums[i])) {set.add(nums[i]);end++;} elsereturn true;if (end - start > k) {set.remove(nums[start]);start++;}}return false;}
0 0
- [LeetCode]Contains Duplicate II
- [LeetCode] Contains Duplicate II
- leetcode Contains Duplicate II
- LeetCode Contains Duplicate II
- [leetcode] Contains Duplicate II
- LeetCode Contains Duplicate II
- 【leetcode】Contains Duplicate II
- leetcode--Contains Duplicate II
- [leetcode]Contains Duplicate II
- [leetCode] Contains Duplicate II
- LeetCode: Contains Duplicate II
- LeetCode Contains Duplicate II
- LeetCode | Contains Duplicate II
- LeetCode Contains Duplicate II
- 【LeetCode】Contains Duplicate II
- leetcode: Contains Duplicate II
- LeetCode Contains Duplicate II
- Leetcode: Contains Duplicate II
- DISTINCT的巧妙用法
- LeetCode 237:Delete Node in a Linked List
- cin.ignore() cin.sync()的区别
- 快速计算乘方的算法
- sqlite日期和时间
- 【Leetcode】Contains Duplicate II
- linux下 jdk1.8安装
- JAVA验证URL是否有效连接的方法
- [LeetCode]008-String to Integer
- 大家快来A水题
- 【C语言提高25】二级指针做输入的第二种内存模型:二维数组
- 学习日志,面向对象第一天(类和对象、封装、this关键字)
- 最大流最小割定理(max flow/min cut theory)
- 开源实时日志分析ELK平台部署