1. Listen carefully: make sure you hear the problem correctly, ask questions about anything yhou’re unsure about. mentally recorded any unique information in the probleml, write down if necessary;
  2. Draw an example: the example should not be too simple, validate the solution using example and check boundary vlaue**
  3. state brute force explain what the space and time complexity then drive into imporvents
  4. Optimize look at unused info? use a fresh example? BUD: Bottlenecks, Unnecessary work, Duplicated work.
  5. Walk through after you’ve nailed down an optimal algorithm, dont just dive into coding, take a moment to solidify your understanding of the algorithm.
  6. code if you have more time, do refactor the code e.g. if i == 1: ... elif i ==2 ... -> if i in (1, 2):..
  7. test