原題鏈結
思路:方法一:雜湊表儲存對,先查詢是否存在該nums[i],若不存在,則插入;若存在,比較儲存的index值與當前下標的差值的絕對值與k的大小,滿足條件即返回true,結束返回false。空間複雜度為o(n),時間複雜度為o(n^2)
方法二:利用無序set建乙個大小為 k 的滑動視窗,判斷視窗內是否有重複元素,如果有則返回true,結束返回false。
方法一**:
class
solution
mp[nums[i]
]= i;
}return
false;}
};
方法二**:
class
solution
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 輸入...