LeetCode 219 存在重複元素II

2021-09-27 06:59:45 字數 787 閱讀 7166

給定乙個整數陣列和乙個整數 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:

輸入: nums = [1,2,3,1,2,3], k = 2

輸出: false

原文題目描述有些問題:i 和 j 的絕對差值不能大於k,即必須小於等於k

思路:把nums中的資料,挨個放入map中,且map《鍵, 值》,其中鍵對應nums的值,值對應nums的索引。當map中不存在該數字時,insert進去,且記錄索引,再次插入相同資料,對兩次索引進行求查,判斷是小於k, 不小於的話,一定要用第二次的數字,替換第一次的數字對應的值,為了更好的匹配下乙個值的索引,參考例2 的後兩個1。

class solution 

mapm;// key, index

for(int i = 0; i < nums.size(); ++i)

else

m[nums[i]] = i;

}return false;}};

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 輸入...