public class Solution {\n public bool ContainsNearbyDuplicate(int[] nums, int k) {\n Dictionary<int,int> dict = new Dictionary<int,int>();\n\n for(int i = 0; i<nums.Length; i++)\n {\n if (!dict.ContainsKey(nums[i]))\n {\n dict.Add(nums[i], i);\n }\n else\n {\n if(i-dict[nums[i]]<=k)\n {\n return true;\n }\n dict[nums[i]] = i;\n }\n }\n return false;\n }\n}<\/code><\/pre><\/div>\n\n\n\nWe use a dictionary to store the integer and it’s last index to check.<\/p>\n\n\n\n
<\/div>\n\n\n\n
<\/span>Java Solution<\/strong><\/span><\/h3>\n\n\n\nSolution1<\/strong><\/p>\n\n\n\nclass Solution {\n public boolean containsNearbyDuplicate(int[] nums, int k) {\n Map<Integer,Integer>map = new HashMap<Integer,Integer>();\n\n for(int i = 0; i<nums.length; i++)\n {\n if (map.containsKey(nums[i]))\n {\n if(i-map.get(nums[i])<=k)\n {\n return true;\n } \n }\n map.put(nums[i],i);\n }\n return false;\n }\n}<\/code><\/pre><\/div>\n\n\n\n<\/div>\n\n\n\n
<\/span>Python3 Solution<\/strong><\/span><\/h3>\n\n\n\nSolution1<\/strong><\/p>\n\n\n\nclass Solution:\n def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool:\n dict = {}\n\n for i in range (len(nums)):\n if (nums[i] in dict):\n if(i-dict[nums[i]]<=k):\n return True\n\n dict[nums[i]] = i\n return False<\/code><\/pre><\/div>\n\n\n\n<\/div>\n\n\n\n
<\/span>JavaScript Solution<\/strong><\/span><\/h3>\n\n\n\nSolution1<\/strong> <\/p>\n\n\n\n\/**\n * @param {number[]} nums\n * @param {number} k\n * @return {boolean}\n *\/\nvar containsNearbyDuplicate = function(nums, k) {\n const map = new Map();\n\n for(let i = 0; i<nums.length; i++)\n {\n if (map.has(nums[i]))\n {\n if(i-map.get(nums[i])<=k)\n {\n return true;\n } \n }\n map.set(nums[i],i);\n }\n return false;\n};<\/code><\/pre><\/div>\n\n\n\n<\/div>\n\n\n\n