LeetCode 219 存在重複元素 II

2022-09-18 23:48:14 字數 1976 閱讀 4490

給你乙個整數陣列nums和乙個整數k,判斷陣列中是否存在兩個不同的索引ij,滿足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 輸入...