Daily Drill¶
42 core algorithms. All of them. Every day. Seven days.
Challenge mode strips each implementation, leaving the signature and docstring. You re-implement from scratch and run tests to verify.
How It Works¶
just challenge <topic> <problem> # strip solution → you implement
just study <topic> # watch mode — re-runs tests on save
just solution <topic> <problem> # restore if stuck
just challenge-done <t> <p> # mark complete
just challenge-progress # see stats
The 42¶
Copy-paste the full block to strip all 42 at once, or work topic by topic.
Arrays (3)¶
just challenge arrays two_sum
just challenge arrays group_anagrams
just challenge arrays product_except_self
Two Pointers (2)¶
Sliding Window (2)¶
just challenge sliding_window min_window_substring
just challenge sliding_window longest_substring_no_repeat
Stacks & Queues (2)¶
Searching (2)¶
Linked Lists (2)¶
Trees (3)¶
just challenge trees validate_bst
just challenge trees level_order_traversal
just challenge trees trie
Graphs (7)¶
just challenge graphs number_of_islands
just challenge graphs topological_sort
just challenge graphs course_schedule
just challenge graphs dijkstra
just challenge graphs a_star_search
just challenge graphs bellman_ford
just challenge graphs minimum_spanning_tree
Dynamic Programming (5)¶
just challenge dp coin_change
just challenge dp edit_distance
just challenge dp knapsack
just challenge dp longest_increasing_subseq
just challenge dp longest_common_subseq
Heaps (2)¶
Backtracking (3)¶
just challenge backtracking subsets
just challenge backtracking combination_sum
just challenge backtracking n_queens
Greedy (2)¶
Strings (2)¶
Recursion (2)¶
Bit Manipulation (1)¶
Sorting (1)¶
Tracking¶
After each pass, mark status:
| Mark | Meaning |
|---|---|
| From memory, under 25 min | |
| Needed a hint or slow | |
| Could not solve |
Re-drill all and
problems first the next day.
Extended Practice¶
The remaining 27 implementations are in the repo for deeper study:
- graphs: clone_graph, word_ladder, network_delay_time, network_flow, geohash_grid, kd_tree
- dp: climbing_stairs, traveling_salesman_dp, constraint_satisfaction
- arrays: top_k_frequent
- two_pointers: container_with_most_water
- stacks_queues: min_stack
- searching: find_minimum_rotated
- linked_lists: merge_two_sorted
- trees: max_depth, invert_tree
- heaps: task_scheduler
- backtracking: permutations
- greedy: interval_scheduling
- strings: valid_anagram, longest_common_prefix, string_to_integer_atoi
- recursion: pow_x_n, letter_combinations_phone, tower_of_hanoi
- bit_manipulation: counting_bits, reverse_bits
- sorting: merge_sort_inversions
- patterns: sliding_window (max_sum_subarray)
Use just challenge <topic> <problem> on any of these the same way.
Tips¶
- Talk out loud while solving — practice interview communication
- 25 min per problem is interview pace
- If you can't identify the pattern in 3 min, check the decision tree