Relative Sort Array — hashing
Remember every value you have already seen. A hit means the pattern fired. Built for LeetCode 1122. Relative Sort Array.
A hash set answers “have I seen this before?” in expected O(1). Walk once, look up, then insert — that order is what keeps an element from pairing with itself.
Algorithm
- Create an empty set
seen. - For each value
x, ifxis already inseen, return true. - Otherwise insert
xand continue. - If the walk finishes, return false.
- Time
- O(n)
- Space
- O(n)
class Solution: def relativeSortArray(self, nums: list[int]) -> bool: seen: set[int] = set() for x in nums: if x in seen: return True seen.add(x) return False