給你乙個整數陣列nums
和乙個整數k
,判斷陣列中是否存在兩個不同的索引i
和j
,滿足nums[i] == nums[j]
且abs(i - j) <= k
。如果存在,返回true
;否則,返回false
。
示例 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雜湊表 和滑動視窗
/**
* 滑動視窗+ 雜湊
* * @param nums
* @param k
* @return
*/public static boolean containsnearbyduplicate(int nums, int k)
setintegerset = new hashset<>();
for (int i = 0; i < nums.length; i++)
if (integerset.contains(nums[i]))
integerset.add(nums[i]);
}return false;
}
測試用例public static void main(string args) ;
int k = 3;
boolean flag = containsnearbyduplicate.containsnearbyduplicate(nums, k);
system.out.println("containsnearbyduplicate demo01 result : " + flag);
nums = new int;
k = 1;
flag = containsnearbyduplicate.containsnearbyduplicate(nums, k);
system.out.println("containsnearbyduplicate demo02 result : " + flag);
nums = new int;
k = 2;
flag = containsnearbyduplicate.containsnearbyduplicate(nums, k);
system.out.println("containsnearbyduplicate demo03 result : " + flag);
nums = new int;
k = 3;
flag = containsnearbyduplicate.containsnearbyduplicate(nums, k);
system.out.println("containsnearbyduplicate demo04 result : " + flag);
}
測試結果containsnearbyduplicate demo01 result : true
containsnearbyduplicate demo02 result : true
containsnearbyduplicate demo03 result : false
containsnearbyduplicate demo04 result : true
leetcode 219 存在重複元素
給定乙個整數陣列和乙個整數 k,判斷陣列中是否存在兩個不同的索引 i 和 j,使得 nums i nums j 並且 i 和 j 的差的絕對值最大為 k。示例 1 輸入 nums 1,2,3,1 k 3 輸出 true 示例 2 輸入 nums 1,0,1,1 k 1 輸出 true 示例 3 輸入...
LeetCode 219 存在重複元素 II
給定乙個整數陣列和乙個整數 k,判斷陣列中是否存在兩個不同的索引i 和j,使得nums i nums j 並且 i 和 j 的差的絕對值最大為 k。示例 1 輸入 nums 1,2,3,1 k 3輸出 true示例 2 輸入 nums 1,0,1,1 k 1輸出 true usr bin pytho...
Leetcode219 存在重複元素 II
給定乙個整數陣列和乙個整數 k,判斷陣列中是否存在兩個不同的索引 i 和 j,使得 nums i nums j 並且 i 和 j 的差的絕對值最大為 k。示例 1 輸入 nums 1,2,3,1 k 3 輸出 true 示例 2 輸入 nums 1,0,1,1 k 1 輸出 true 示例 3 輸入...