暴力求解法——枚举排列
Posted 小乖乖的臭坏坏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了暴力求解法——枚举排列相关的知识,希望对你有一定的参考价值。
代码:
public class EnumerationArrangement
public static void main(String[] args)
int[] A = 1,2,3,4,5;
print_repermutation(A.length, A, 0);
public static void print_permutation(int n, int[] A, int cur)
if(cur == n)//递归边界判断
for (int i=0;i<n;i++)
System.out.print(A[i]+" ");
System.out.println();
else//没达到截止条件
for (int i = 1;i<=n;i++)//尝试在A[cur]中填入各种整数i
boolean flag = true;
for (int j = 0;j<cur;j++)
if(A[j]==i)flag = false;//如果i已经在之前出现过,则不能再选择
if(flag)//只要没有出现过,则让这个值等于A[cur]
A[cur] = i;
print_permutation(n,A,cur+1);//递归调用
public static void print_repermutation(int n, int[] A, int cur)
if(cur == n)//递归边界判断
for (int i=0;i<n;i++)
System.out.print(A[i]+" ");
System.out.println();
else//没达到截止条件
for (int i = 1;i<=n;i++)//尝试在A[cur]中填入各种整数i
A[cur] = i;
print_repermutation(n,A,cur+1);//递归调用
以上是关于暴力求解法——枚举排列的主要内容,如果未能解决你的问题,请参考以下文章