gary@interview:~/interview/coding/219-contains-dup….md$
$ cat ./coding/219-contains-duplicate-ii.md
[Coding]

219. Contains Duplicate II

────────────────────────────────────────────────────────────

219. Contains Duplicate II

這一題和 2 Sum 的原理有點像,我們需要用到 Table 來記憶元素出現的位置,不過這個題目只需要記憶著每個字元最後出現的位置即可。

class Solution:
    def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool:
        table = {}

        for i in range(len(nums)):
            num = nums[i]
            if num in table:
                if abs(i - table[num]) <= k:
                    return True
            table[num] = i

        return False

--tags#Hash Table
$ ls ./coding/ | grep -v 219-contains-duplicate-ii
265. Paint House II256. Paint House143. Reorder List1762. Buildings With an Ocean View
← cd ../codingcd ~