Introduce a Computer Science Algorithm Technique
There are a few techniques that everyone should be aware of. Usually these are covered in Intro to Algorithms
classes to categorize algorithms.
They are generally tools not just beneficial for interviews, but for software engineering work in general, so get to know them!
Divide and Conquer: try to divide the problem into sub-problems that are easier to think through or solve. This allows for the possibility of..
Recursion - see if you can leverage a function that calls on itself. Be especially wary of recursion
for trees.
Memo-ization- Can the partial results you've generated in the brute force solution can be used for larger or different inputs? If so, leverage caching of some sort. What data can you store in memory (or create and store in memory) to help facilitate the algorithm?
Greedy - think about what the best move at each iteration or step is. Is there an obvious one at each step? This comes up a lot in graph
traversal problems like Dijkstra's algorithm.