All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g0201_0300.s0219_contains_duplicate_ii.Solution Maven / Gradle / Ivy

There is a newer version: 1.38
Show newest version
package g0201_0300.s0219_contains_duplicate_ii;

// #Easy #Array #Hash_Table #Sliding_Window #2022_07_02_Time_15_ms_(99.09%)_Space_56_MB_(82.82%)

import java.util.HashMap;
import java.util.Map;

/**
 * 219 - Contains Duplicate II\.
 *
 * Easy
 *
 * Given an integer array `nums` and an integer `k`, return `true` if there are two **distinct indices** `i` and `j` in the array such that `nums[i] == nums[j]` and `abs(i - j) <= k`.
 *
 * **Example 1:**
 *
 * **Input:** nums = [1,2,3,1], k = 3
 *
 * **Output:** true 
 *
 * **Example 2:**
 *
 * **Input:** nums = [1,0,1,1], k = 1
 *
 * **Output:** true 
 *
 * **Example 3:**
 *
 * **Input:** nums = [1,2,3,1,2,3], k = 2
 *
 * **Output:** false 
 *
 * **Constraints:**
 *
 * *   1 <= nums.length <= 105
 * *   -109 <= nums[i] <= 109
 * *   0 <= k <= 105
**/
public class Solution {
    public boolean containsNearbyDuplicate(int[] nums, int k) {
        Map map = new HashMap<>();
        int len = nums.length;
        for (int i = 0; i < len; i++) {
            Integer index = map.put(nums[i], i);
            if (index != null && Math.abs(index - i) <= k) {
                return true;
            }
        }
        return false;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy