220 存在重複元素 III

2021-10-06 14:22:51 字數 1319 閱讀 2440

給定乙個整數陣列,判斷陣列中是否有兩個不同的索引 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 =

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

c的函式原型:

bool containsnearbyalmostduplicate

(int

* nums,

int numssize,

int k,

int t)

bool containsnearbyalmostduplicate

(int

* nums,

int numssize,

int k,

int t)

思路:找乙個範圍使得其值滿足某個條件,然後就會想到滑動視窗。

具體分析,猛擊《[219].存在重複元素 ii》。

#include

/* c語言雜湊庫 */

typedef

struct hash

*hash_ptr;

bool containsnearbyalmostduplicate

(int

* nums,

int numssize,

int k,

int t)

free

(p), p =

null

;return false;

}

220 存在重複元素 III

給定乙個整數陣列,判斷陣列中是否有兩個不同的索引 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輸出 tru...

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