π Foundation. Almost every Codility test starts here.
- Rotate an array (cyclic rotation)
- Max slice / Maximum subarray sum (Kadaneβs algorithm)
- Prefix sum queries (fast range sums)
- Distinct elements in an array
Practice:
- Codility Lesson 2 (Arrays)
- LeetCode: Maximum Subarray, Product of Array Except Self
π Using sets/dicts efficiently.
- Missing integer (first missing positive)
- Find duplicate numbers
- Count occurrences
- Two-sum with hash map
Practice:
- Codility Lesson 4 (Counting Elements)
- LeetCode: First Missing Positive, Two Sum, Contains Duplicate
π Classic pattern detection problems.
- Balanced parentheses / brackets
- Fish survival problem
- Stone wall (count visible rectangles)
- Dominator (majority element)
- Equi leader
Practice:
- Codility Lesson 7 (Stacks and Queues)
- LeetCode: Valid Parentheses, Majority Element
π Fast decisions with sorting and math tricks.
- Triangle triplet (can three numbers form a triangle?)
- Max product of three numbers
- Tie ropes problem
- Count factors
- GCD / LCM (Euclidean algorithm)
Practice:
- Codility Lesson 6 (Sorting) + Lesson 10 (Prime and Composite Numbers)
- LeetCode: Greatest Common Divisor of Strings, Valid Triangle Number
π If time permits:
- Prefix sums + hashmaps β e.g. Genomic range query, distinct slices
- Graph BFS/DFS β e.g. frog jump, shortest path problems
π How to train efficiently:
- Spend ~1 hour daily or 2β3 hours on weekends.
- Start untimed β then switch to timed sessions (30β45 min per problem).
- Always test edge cases: empty arrays, single elements, maximum input size.