首页 > 代码库 > LeetCode-Contains Duplicate II

LeetCode-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.

Solution:

public class Solution {    public boolean containsNearbyDuplicate(int[] nums, int k) {        if (nums.length<2) return false;                HashSet<Integer> numSet = new HashSet<Integer>();        for (int i=0;i<nums.length;i++){            if (numSet.contains(nums[i])){                return true;            }                        //add nums[i] into set            numSet.add(nums[i]);                        // if full, then remove the left most one.            if (numSet.size()>k)                numSet.remove(nums[i-k]);                    }                return false;    }}

 

LeetCode-Contains Duplicate II