When given a square matrix, what would be the best way to find all of the possible arrays within it without using more than one element from any row/column in each array?
For example, in a matrix like so:
0 2 3
1 2 3
1 2 0
It would then go through it like this:

And then it would output the following list of arrays:
123
123
023
123
120
020
You can directly map each such array to a permutation of the digits (0 .. size-1). To show you how this works, the permutation
(2,1,0)maps to the 3 coordinates(2,0), (1,1), (0,2). The 6 examples you gave areTo explain the mapping, lets take the first permutation
(2,1,0) --> (2,0), (1,1), (0,2). Then, the values you want to use arearray[2][0], array[1][1], array[0][2]So now the question is how to generate each permutation. There are a few algorithms, one of which is implemented in java here: http://www.merriampark.com/perm.htm