不重复的排列码
Permutation code without repeating
我有一个带有排列的代码,当我 运行 这个代码时,它 return 有多个具有相同值的结果。
我不想return相同的结果,打破重复。
这是我的代码:
public class Teste {
private static final char[] MP = new char[] {'i', 't', '@', 'r', 'm', 't', 'z', 'c', 'r', '.', 'c', 'a', 'a', 't', 't', 'c', 'b', 'a', 'i', '.', 'o'};
private static final int[][] SWAPS = new int[][] {
{2, 8, 18, 4, 0, 15, 1, 11, 3, 14, 20, 5, 19, 16, 13, 6, 12, 10, 17, 9, 7},
{15, 8, 6, 2, 17, 14, 4, 9, 0, 5, 13, 7, 3, 19, 10, 18, 20, 11, 16, 12, 1},
{0, 17, 20, 7, 6, 3, 14, 2, 18, 15, 19, 8, 16, 1, 5, 9, 13, 12, 11, 4, 10},
{12, 11, 15, 14, 10, 4, 0, 19, 13, 17, 3, 9, 20, 6, 8, 16, 1, 7, 5, 18, 2}
};
public static void main(String[] args) {
char[] str = MP;
int[][] out ;
Teste p = new Teste() ;
while (p.SWAPS != null) {
out = p.SWAPS;
for ( char e : MP ) {
System.out.print(e + " - ") ;
}
System.out.println() ;
}
}
}
您的代码似乎根本没有使用 SWAPS 数组。
您的意思是以某种方式使用 SWAPS 数组来决定要打印 MP 中的哪个索引吗?
此外,您有一个 while 循环来检查 p.SWAPS 的值。但是这个值在循环中永远不会改变,所以你会得到一个无限循环。
如果你想从 MP 数组中选择一个随机字符你可以使用 java.util.Random class.
我在上面看到你的说明,你在其中指定了如何找到 MP 数组中第一个字符的位置 (8)。你如何找到 MP 数组中其余字符的位置。如果每次都从 0,0 开始,所有字符都将在第 8 个索引处结束。
我有一个带有排列的代码,当我 运行 这个代码时,它 return 有多个具有相同值的结果。
我不想return相同的结果,打破重复。
这是我的代码:
public class Teste {
private static final char[] MP = new char[] {'i', 't', '@', 'r', 'm', 't', 'z', 'c', 'r', '.', 'c', 'a', 'a', 't', 't', 'c', 'b', 'a', 'i', '.', 'o'};
private static final int[][] SWAPS = new int[][] {
{2, 8, 18, 4, 0, 15, 1, 11, 3, 14, 20, 5, 19, 16, 13, 6, 12, 10, 17, 9, 7},
{15, 8, 6, 2, 17, 14, 4, 9, 0, 5, 13, 7, 3, 19, 10, 18, 20, 11, 16, 12, 1},
{0, 17, 20, 7, 6, 3, 14, 2, 18, 15, 19, 8, 16, 1, 5, 9, 13, 12, 11, 4, 10},
{12, 11, 15, 14, 10, 4, 0, 19, 13, 17, 3, 9, 20, 6, 8, 16, 1, 7, 5, 18, 2}
};
public static void main(String[] args) {
char[] str = MP;
int[][] out ;
Teste p = new Teste() ;
while (p.SWAPS != null) {
out = p.SWAPS;
for ( char e : MP ) {
System.out.print(e + " - ") ;
}
System.out.println() ;
}
}
}
您的代码似乎根本没有使用 SWAPS 数组。
您的意思是以某种方式使用 SWAPS 数组来决定要打印 MP 中的哪个索引吗?
此外,您有一个 while 循环来检查 p.SWAPS 的值。但是这个值在循环中永远不会改变,所以你会得到一个无限循环。
如果你想从 MP 数组中选择一个随机字符你可以使用 java.util.Random class.
我在上面看到你的说明,你在其中指定了如何找到 MP 数组中第一个字符的位置 (8)。你如何找到 MP 数组中其余字符的位置。如果每次都从 0,0 开始,所有字符都将在第 8 个索引处结束。