How to Approach Algorithms
Algorithms can feel like a difficult beast to approach, however, breaking it down into manageable steps can keep the stress from elevating too high!
Step 1: Rephrasing the problem: clarify the requirements and parse out important information
Before starting the problem, it can be helpful to clarify any constraints and details. Edge cases, non-testable cases, constraints, etc.
Step 2: Come up with simple test cases for the algorithmic problem
The reasoning behind this step is that sometimes it can be easy to overcomplicate the problem, but by simplifying the test case to a simpler form, the extraneous nuances and algorithmic complications are removed, thus leaving you with the core problem and algorithmic approach
Step 3: Think of the data structure you want to use
During your code challenge, the data structure you use can help improve the run time and memory space used. By optimizing the data structure, the quality of your solution can improve drastically.
Step 4: Write in pseudocode
In the beginning, it can be difficult to explain your solution while writing the code, so if you’re still new to algorithms, pseudocode allows you to see the big picture algorithm you’re trying to implement. Additionally, as you build your pseudocode, it’s possible that your technical interviewer will ask questions or give hints and suggestions to help guide you, so take the time to write things out in pseudocode!
Step 5: Code
With all the heavy lifting of creating an algorithmic solution done, you can code out the solution and hopefully with less stress — good luck on interviews everyone!