package hash; import java.util.HashMap; import java.util.Map; /** * 题目: 219. 存在重复元素 II (containsNearbyDuplicate) * 描述:给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] == nums[j] 且 abs(i - j) <= k 。如果存在,返回 true ;否则,返回 false 。 * * * 示例 1: 输入:nums = [1,2,3,1], k = 3 输出:true * 链接:https://leetcode.cn/problems/contains-duplicate-ii/ */ public class ContainsNearbyDuplicate { public boolean containsNearbyDuplicate(int[] nums, int k) { Mapmap=new HashMap<>(); for (int i = 0; i < nums.length; i++) { if(map.containsKey(nums[i])){ if(i-map.get(nums[i])<=k) return true; else map.put(nums[i],i); }else map.put(nums[i],i); } return false; } }