vicky111's blog

By vicky111, history, 9 years ago, In English

Hello community,

I was trying to solve this problem. I could not come up with a solution for the same.

Given an array A of N elements, you have top tell the minimum number of operations to sort the array. An operation is defined as follows:
1. Take two indexes [l, r] in the array.
2. Reverse the array elements (A[l], A[l+1], ..., A[r]).
E.g. : A = [3, 2, 1, 4]
Ans = 1.
Explanation: l = 0, r= 2. Flip [3, 2, 1] ==> A = [1,2,3,4]

Note:

I was trying to solve the easier version of the problem where I can only take a number K (<=N) and reverse the first K elements. This is known as Pancake sorting. I was trying to find the optimal number of reversals in pancake sorting.

  • Vote: I like it
  • +10
  • Vote: I do not like it

»
9 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

What is the maximum size of the array? I suspect there is an O(N2) dynamic programming approach but it won't be fast enough if the array is much bigger than 104.