Day 30 — Mock: Full Month 1

mock day · 60 minutes · arrays, strings, stack, linked list · Python

Tonight's goal: run a realistic Month 1 mock under a strict timer: one easy, two medium, talk aloud, no autocomplete, and score solved / time / bugs / clarity.

Tonight's protocol

Use the mock-day protocol: timer first, approach and complexity out loud, code second, compare after.

  1. 0:00-0:03 — Warm up: answer the six MCQs below in one pass. If you miss one, read only its invariant quote and keep moving.
  2. 0:03-0:05 — Setup: open one blank file and the LeetCode tabs. Turn autocomplete off. Do not open notes, hints, saved code, videos, or solution text.
  3. 0:05-0:17 — Problem 1: solve the required easy array problem. Before typing, say the pattern, brute force, better approach, time, and space out loud.
  4. 0:17-0:37 — Problem 2: solve one medium from the menu. If stuck at minute 12 of the slot, reread only the pattern name, then restart your explanation.
  5. 0:37-0:57 — Problem 3: solve one different medium from the menu. Same rule: explain aloud first, no solution text during the timer.
  6. 0:57-1:00 — Score: stop coding. For each problem, write solved / time / bugs / clarity. Compare only after the score is written.

The problem menu

Run exactly three scored problems: the required easy row, then choose two different medium rows. The menu spans arrays, strings/sliding window, stack, and linked list; do not solve all four tonight.

SlotProblemPattern nameSay before code
12 min required easy Find Pivot Index Arrays / prefix sums Precompute total, carry left, check the split in O(1).
20 min medium option Longest Substring Without Repeating Characters Strings / Sliding Window I: The Shrinking Rule Grow right; shrink left until the window is valid again.
20 min medium option Daily Temperatures Stack / monotonic stack: next warmer A warmer day resolves colder unresolved days by popping.
20 min medium option Reorder List Linked list / composed primitives Find middle, reverse the second half, then weave.

Score line format: Problem — solved yes/no — time — bugs — clarity 1-3.

Warm-up MCQs

1. Which invariant fits Two Sum while scanning?

2. A pivot check re-adds both sides every loop. What should replace it?

3. A sliding-window answer records best before removing a duplicate. What broke?

4. Daily Temperatures sees a warmer day. What does it prove for popped indices?

5. During linked-list reversal, why save nxt first?

6. Reorder List feels large. Which composition matches the lesson?

Self-check gate

Pass tonight only if all four are true
  1. You started the first LeetCode attempt by minute 5.
  2. You attempted exactly one easy and two medium problems inside 60 minutes.
  3. Before each attempt, you said the pattern, brute force, better approach, time, and space aloud.
  4. Your score line names solved yes/no, final time, concrete bug count, and clarity from 1 to 3.

Failure path: add every failed or unclear problem to the next revision list with WA: <root cause>. Re-solve it later from a blank file with no hints.