Skip to content

Latest commit

 

History

History

0219.contains-duplicate-ii

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

题目描述

给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 ij 的差的 绝对值 至多为 k

 

示例 1:

输入: nums = [1,2,3,1], k = 3
输出: true

示例 2:

输入: nums = [1,0,1,1], k = 1
输出: true

示例 3:

输入: nums = [1,2,3,1,2,3], k = 2
输出: false

解题思路

  1. 利用hash表来实现

代码实现

Golang

func containsNearbyDuplicate(nums []int, k int) bool {
	var numMap = make(map[int]int, 0)
	for i, v := range nums {
		if ii, ok := numMap[v]; ok && (i-ii) <= k {
			return true
		}
		numMap[v] = i
	}
	return false
}