I have been stuck on this sorting problem for a while now:
Given an array of length N find the minimum number of shift operations in order to sort the array. A shift operation is defined as shifting a value in an array to another position. For this problem however, you can only perform this shift operation on the first element in the array.
For example, let's say N = 4 and our array was [1,2,4,3].To sort this array we could perform the following shift operations:
[1,2,4,3] -> [2,4,1,3] -> [4,1,2,3] -> [1,2,3,4]
Thus, we would have to perform a minimum of 3 shift operations.
Any clues on how to approach this problem?