【力扣】219存在重复元素II

package Leetcode真题分门别类.查找表相关问题;

import java.util.HashSet;

/**
 * @Author bennyrhys
 * @Date 2020-05-24 16:09
 * 思路:
 * 查找表+滑动窗口k+1大小
 *
 * 复杂度:
 * 时间O(n)
 * 空间O(k)
 */
public class _219存在重复元素II {
    public boolean containsNearbyDuplicate(int[] nums, int k) {
        HashSet<Integer> set = new HashSet<>();
        for (int i = 0; i < nums.length; i++) {
            if (set.contains(nums[i])) return true;
            set.add(nums[i]);
            if (set.size() == k+1) {
                set.remove(nums[i-k]);
            }
        }
        return false;
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_43469680/article/details/106316731
今日推荐