Problem Statement |
| | In The Sorting Game, you are given a sequence containing a permutation of the integers between 1 and n, inclusive. In one move, you can take any k consecutive elements of the sequence and reverse their order. The goal of the game is to sort the sequence in ascending order. You are given a int[] board describing the initial sequence. Return the fewest number of moves necessary to finish the game successfully, or -1 if it's impossible. |
| |
Definition |
| | | Class: | SortingGame | | Method: | fewestMoves | | Parameters: | int[], int | | Returns: | int | | Method signature: | int fewestMoves(int[] board, int k) | | (be sure your method is public) |
|
| |
|
| |
Constraints |
| - | board will contain between 2 and 8 elements, inclusive. |
| - | Each integer between 1 and the size of board, inclusive, will appear in board exactly once. |
| - | k will be between 2 and the size of board, inclusive. |
| |
Examples |
| 0) | |
| | | Returns: 0 | | The sequence is already sorted, so we don't need any moves. |
|
|
| 1) | |
| | | Returns: 1 | | We can reverse the whole sequence with one move here. |
|
|
| 2) | |
| | | Returns: 10 | | This one is more complex. |
|
|
| 3) | |
| | |
| 4) | |
| | |