首页 > 其他 > 详细

LeetCode_219. Contains Duplicate II

时间:2019-10-24 11:52:04      阅读:114      评论:0      收藏:0      [点我收藏+]

 

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));
	}
}

 

LeetCode_219. Contains Duplicate II

原文:https://www.cnblogs.com/denggelin/p/11731275.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!