0220. Contains Duplicate III

https://leetcode.com/problems/contains-duplicate-iii

Description

Given an integer array nums and two integers k and t, return true if there are two distinct indices i and j in the array such that abs(nums[i] - nums[j]) <= t and abs(i - j) <= k.

Example 1:

**Input:** nums = [1,2,3,1], k = 3, t = 0
**Output:** true

Example 2:

**Input:** nums = [1,0,1,1], k = 1, t = 2
**Output:** true

Example 3:

**Input:** nums = [1,5,9,1,5,9], k = 2, t = 3
**Output:** false

Constraints:

  • 0 <= nums.length <= 2 * 104

  • -231 <= nums[i] <= 231 - 1

  • 0 <= k <= 104

  • 0 <= t <= 231 - 1

ac1: TreeSet

TreeSet is Black-Red Tree, self balance tree, sorted.

https://leetcode.com/problems/contains-duplicate-iii/discuss/61655/Java-O(N-lg-K)-solution

ac2: Bucket

https://leetcode.com/problems/contains-duplicate-iii/discuss/61645/AC-O(N)-solution-in-Java-using-buckets-with-explanation

Last updated

Was this helpful?