Number of Flowers in Full Bloom — hashing
Remember every value you have already seen. A hit means the pattern fired. Built for LeetCode 2251. Number of Flowers in Full Bloom.
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 numberOfFlowersInFullBloom(self, nums: list[int]) -> bool: seen: set[int] = set() for x in nums: if x in seen: return True seen.add(x) return False