thiagowfx's avatar

Β¬ just serendipity πŸ€ (not just serendipity)

sliding window

β€’ 64 words β€’ 1 min

Sliding window template:

python
def sliding_window(nums):
    left = 0
    state = ...          # dict, set, int β€” track window contents

    for right in range(len(nums)):
        # 1. expand β€” add nums[right] to state
        state.add(nums[right])

        # 2. shrink β€” while window is invalid (while, not if!)
        while invalid(state):
            state.remove(nums[left])
            left += 1

        # 3. update answer
        ans = max(ans, right - left + 1)

    return ans