219. 存在重复元素 II
难度简单267
给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的 绝对值 至多为 k。
示例 1:
1 | 输入: nums = [1,2,3,1], k = 3 |
示例 2:
1 | 输入: nums = [1,0,1,1], k = 1 |
示例 3:
1 | 输入: nums = [1,2,3,1,2,3], k = 2 |
哈希表
巧妙之处在于一直加入数字,如果当前的set的size() > k说明最后一个加入元素的index与第一个元素加入的index差值大于k了,此时要把第一个加入的元素删掉
如果某次查找时当前元素在set里面说明有一个元素与当前元素的index差值不超过k,此时满足条件,跳出
1 | class Solution { |