Skip to content

Latest commit

Β 

History

History
76 lines (54 loc) Β· 1.93 KB

File metadata and controls

76 lines (54 loc) Β· 1.93 KB

⏱️ Codility Python Prep Roadmap

Arrays & Prefix Sums

πŸ‘‰ 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

Counting & Hashing

πŸ‘‰ 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

Stacks, Queues, & Leaders

πŸ‘‰ 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

Sorting, Greedy, & Math

πŸ‘‰ 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

Optional Advanced Topics

πŸ‘‰ If time permits:

  • Prefix sums + hashmaps β€” e.g. Genomic range query, distinct slices
  • Graph BFS/DFS β€” e.g. frog jump, shortest path problems

Practice Strategy

πŸ‘‰ 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.