Level 3Exercise #74
First negative per window
For each window of k numbers, return its first negative number or 0 in O(n).
What you’ll practice
This Level 3 exercise focuses on monotonic deque in the Collections curriculum. Solve the challenge prompt above using clear, idiomatic Python and the relevant language or standard-library tools.
Relevant Python reference: collections.deque.
Sample Test Cases
Example #1
Input:
first_negatives([2,-1,3,-4,5], k=3)Output:
[-1,-1,-4]Further Reading
Reference Solution
Reveal Reference Solution
def first_negatives(values: list[int], k: int) -> list[int]: from collections import deque negatives, result = deque(), [] for i, value in enumerate(values): if value < 0: negatives.append(i) while negatives and negatives[0] <= i-k: negatives.popleft() if i >= k-1: result.append(values[negatives[0]] if negatives else 0) return resultPro Tips & Keyboard Shortcuts
Color Theme
Ctrl + K then T
Open VS Code Color Theme Quick Pick to select from 20 dark and light themes.
Editor SettingsCtrl + K
Open practice settings drawer to toggle line numbers, indenting, font size & hints.
Search MenuCtrl + /
Expand sidebar menu, focus search bar, and highlight search text instantly.
Focus Code Editor
Esc or Ctrl + `
Instantly highlight and focus code editor from anywhere, restoring cursor right where you left off.
Normal ViewEsc
Collapse sidebar and close all popups or settings drawers for clean focus view.