Another Thursday, another puzzle. The idea is simple: solve the coding problem as efficiently as you can, in any language or framework that you think is suitable. Last week we got some great answers with Fabie, Christian and Francesco giving pretty detailed answers - thanks for participating guys.
Note: Even though there really is nothing stopping you from finding a solution to this on the internet, try to keep honest, and come up with your own answer. It's all about the participation!
Towers of Hanoi
Let's go for another classic computer science coding problem, the Towers of Hanoi. The objective is to move the entire stack to any other rod, obeying these rules:
- Only one disk can be moved at a time
- Each move consists of taking the upper disk from one rod, adding it onto another rod, on top of any disks that you may have already placed on that rod.
- But no disk can be placed on top of a smaller disk
There's a few different ways to achieve this. If you wish, you can express the efficiency of the algorithm you come up with using Big O notation.