存在重复元素

70 阅读1分钟
package org.example.demo;  
import java.util.HashSet;  
import java.util.Set;  
  
//存在重复元素 II  
//给你一个整数数组 nums 和一个整数 k ,  
//判断数组中是否存在两个 不同的索引 i 和 j ,  
//满足 nums[i] == nums[j] 且 abs(i - j) <= k 。  
//如果存在,返回 true ;否则,返回 false 。  
  
public class ContainsNearbyDupSolution {  
    public boolean containsNearbyDuplicate(int[] nums,int k){  
        Set<Integer> set=new HashSet<Integer>();  
        int len=nums.length;  
        for (int i = 0; i <len ; i++) {  
            if(i>k){  
                set.remove(nums[i-k-1]);  
            }  
            if(!set.add(nums[i])){  
                return true;  
            }  
        }  
        return false;  
    }  
}