220 存在重複元素 III

2021-08-22 09:53:16 字數 704 閱讀 1405

給定乙個整數陣列,判斷陣列中是否有兩個不同的索引 i 和 j,使得nums [i]nums [j]的差的絕對值最大為 t,並且 i 和 j 之間的差的絕對值最大為 ķ。

示例 1:

輸入:nums = [1,2,3,1], k= 3, t = 0輸出:true
示例 2:

輸入:nums = [1,0,1,1], k=1, t = 2輸出:true
示例 3:

輸入:nums = [1,5,9,1,5,9], k = 2, t = 3輸出:false
思路:

維護乙個大小為k的set集合,每次新加入乙個值之後,去掉位於nums陣列中此時左邊界的元素nums[i-k-1].從set集合中找出距離當前nums[i]比較近的數的集合,判斷他們是否小於等於nums[i]+t,如果有這樣乙個數,則返回真。

code:

class solution 

return false;}

};

220 存在重複元素 III

給定乙個整數陣列,判斷陣列中是否有兩個不同的索引 i ii 和 j jj,使得 num s i nums i nums i 和 num s j nums j nums j 的差的絕對值最大為 t tt,並且 i ii 和 j jj 之間的差的絕對值最大為 示例 1 輸入 nums 1 2,3 1 k...

leetcode 220 存在重複元素III

class solution if setsize k window.insert long nums end setsize end return false 快還是挺快的,記憶體消耗挺大。本質還是滑動視窗,視窗裡放k個數,然後第k 1個數找一下視窗裡有沒有和自己絕對值之差小於t的,有則查詢成功返...

leetcode 220 存在重複元素 III

1.題目 在整數陣列 nums 中,是否存在兩個下標 i 和 j,使得 nums i 和 nums j 的差的絕對值小於等於 t 且滿足 i 和 j 的差的絕對值也小於等於 如果存在則返回 true,不存在返回 false。輸入 nums 1,5,9,1,5,9 k 2,t 3 輸出 false2....