Resources:
Try to practice one algorithm a day. If you don't come up with a solution by the end of the day, look up the solution and study it! Don't stay stuck on a problem for too long. You'll benefit more from studying the solution and trying again afterwards.
Summary
During a white board session, go step by step, asking questions throughout:
- Analyze and question
- What does the algorithm do?
- What are the inputs and outputs (data types)?
- Any restraints or rules?
- Example/test of how it will be used
- Visualize and discuss (draw it out if necessary)
- Pseudocode the approach
- Code