Hyplus目录
Java
import java.util.HashMap;
/**
* 数组;哈希表;滑动窗口
*/
class Solution {
public boolean containsNearbyDuplicate(int[] nums, int k) {
HashMap<Integer, Integer> map = new HashMap<>(); // nums[i] -> i
for (int i = 0; i < nums.length; i++) {
if (map.containsKey(nums[i]) && i - map.get(nums[i]) <= k) {
return true;
}
map.put(nums[i], i);
}
return false;
}
}
Go
func containsNearbyDuplicate(nums []int, k int) bool {
m := make(map[int]int) // nums[i] -> i
for i, v := range nums {
if j, ok := m[v]; ok && i-j <= k {
return true
}
m[v] = i
}
return false
}
JavaScript
/**
* @param {number[]} nums
* @param {number} k
* @return {boolean}
*/
var containsNearbyDuplicate = function (nums, k) {
let map = new Map();
for (let i = 0; i < nums.length; i++) {
if (map.has(nums[i]) && i - map.get(nums[i]) <= k) {
return true;
}
map.set(nums[i], i);
}
return false;
};
PHP
class Solution {
/**
* @param Integer[] $nums
* @param Integer $k
* @return Boolean
*/
function containsNearbyDuplicate(array $nums, int $k): bool {
$map = [];
foreach ($nums as $i => $v) {
if (isset($map[$v]) && $i - $map[$v] <= $k) {
return true;
}
$map[$v] = $i;
}
return false;
}
}