Mental Model
Find the next bigger arrangement of numbers by changing the smallest possible part of the array.
Analogy: Imagine you have a lock with numbers. To get the next code, you try to increase the last digits first, but if you can't, you move left until you find a digit you can increase, then reset the digits to the right to the smallest order.
Array: [1] -> [2] -> [3] -> [4] -> [5] Indexes: 0 1 2 3 4
