查找表类算法//存在重复元素 II
2018-11-08 23:28
211 查看
给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k。
示例 1:
输入: nums = [1,2,3,1], k = 3 输出: true
示例 2:
输入: nums = [1,0,1,1], k = 1 输出: true
示例 3:
输入: nums = [1,2,3,1,2,3], k = 2 输出: false
[code]class Solution { public boolean containsNearbyDuplicate(int[] nums, int k) { HashMap<Integer,Integer> map = new HashMap<>(); for(int i = 0; i < nums.length; i++){ if(map.containsKey(nums[i])){ int sub = i - map.get(nums[i]); if(sub <= k) return true; else map.put(nums[i],i); } else map.put(nums[i],i); } return false; } }
阅读更多
相关文章推荐
- 存在重复元素 II - LeetCode
- 查找表类算法//存在重复元素 III
- python_lintcode_115不同的路径 II_112删除排序链表中的重复元素
- 字符串算法——旋转数组中查找目标值(有重复元素)( Search in Rotated Sorted Array II)
- 一个长度为N的整形数组,数组中每个元素的取值范围是[0,N-1],写一个算法判断数组中是否存在重复的数字
- 关于查找数组中是否存在重复元素的方法总结(Find A Duplicate)
- LeetCode | Remove Duplicates from Sorted Array II(删除重复的元素2)
- 使用jQuery dialog整个页面存在dialog元素重复的问题
- Combination Sum II:允许重复的数组中选取若干元素使和为某一给定值
- 数组是否存在重复元素
- 全排列—存在重复元素
- 删除数组中存在重复的元素。
- leetcode 题解:Remove Duplicates from Sorted Array II(已排序数组去三次及以上重复元素)
- 取值为[1,n-1]含n个元素的整数数组,至少存在一个重复数,即可能存在多个重复数,O(n)时间内找出其中任意一个重复数,不使用额外存储空间。
- 删除数组中重复元素II
- [2016/12/1]判断是否存在重复元素 -- c++ set的巧妙用法
- 哈希(6) - 判断数组中是否存在重复元素且距离在K之内
- RemoveDuplicatesFromSortedArrayI II,移除有序数组里的重复元素以及移除数组里的某个元素
- LeetCode OJ:Remove Duplicates from Sorted Array II(移除数组中的重复元素II)
- LeetCode Remove Duplicates from Sorted Array II 删除整型数组中的重复元素并返回剩下元素个数2