• LeetCode_219. Contains Duplicate II


    219. Contains Duplicate II

    Easy

    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 absolute difference between i and j is at most 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
    package leetcode.easy;
    
    public class ContainsDuplicateII {
    	public boolean containsNearbyDuplicate(int[] nums, int k) {
    		java.util.HashMap<Integer, Integer> map = new java.util.HashMap<Integer, Integer>();
    		for (int i = 0; i < nums.length; i++) {
    			if (map.containsKey(nums[i]) && (i - map.get(nums[i]) <= k)) {
    				return true;
    			} else {
    				map.put(nums[i], i);
    			}
    		}
    		return false;
    	}
    
    	@org.junit.Test
    	public void test() {
    		int[] nums1 = { 1, 2, 3, 1 };
    		int[] nums2 = { 1, 0, 1, 1 };
    		int[] nums3 = { 1, 2, 3, 1, 2, 3 };
    		int k1 = 3;
    		int k2 = 1;
    		int k3 = 2;
    		System.out.println(containsNearbyDuplicate(nums1, k1));
    		System.out.println(containsNearbyDuplicate(nums2, k2));
    		System.out.println(containsNearbyDuplicate(nums3, k3));
    	}
    }
    
  • 相关阅读:
    ohmyzsh
    https://github.com/
    init 0,1,2,3,4,5,6
    关于反射
    docker学习笔记
    docker常见问题汇总
    ArrayList的sublist
    java-锁
    CAS-原子操作
    hashMap与concurrentHashMap
  • 原文地址:https://www.cnblogs.com/denggelin/p/11731275.html
Copyright © 2020-2023  润新知