知识大全 关于数字排列的一个程序
Posted 排列
篇首语:识字粗堪供赋役,不须辛苦慕公卿。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 关于数字排列的一个程序相关的知识,希望对你有一定的参考价值。
输出 的所有排列组合 不能在第三位 和 不能相邻 先看代码吧
import java util ArrayList;
import java util List; import java util Set; import java util TreeSet; /** * * @author 赵学庆 * */ public class T public static List<String> find(List<String> list) List<String> rtn = new ArrayList<String>(); String str; for (int i = ; i < list size(); i++) str = list get(i); list remove(i); if (list size() == ) rtn add(str); else List<String> sList = find(list); for (String s : sList) rtn add(str + s); if (s length() == ) addNumber(str + s); list add(i str); return rtn;
public static void addNumber(String str) if (str charAt( ) == || ntains( ) || ntains( )) return; set add(str);
public static Set<String> set = new TreeSet<String>();
public static void main(String[] args) List<String> list = new ArrayList<String>(); list add( ); list add( ); list add( ); list add( ); list add( ); list add( ); find(list); System out println(set size()); int cols = ; for (String s : set) System out print(s+ ); if(cols == ) System out println(); cols = ;
import java util ArrayList;
import java util List; import java util Set; import java util TreeSet; /** * * @author 赵学庆 * */ public class T public static List<String> find(List<String> list) List<String> rtn = new ArrayList<String>(); String str; for (int i = ; i < list size(); i++) str = list get(i); list remove(i); if (list size() == ) rtn add(str); else List<String> sList = find(list); for (String s : sList) rtn add(str + s); if (s length() == ) addNumber(str + s); list add(i str); return rtn;
public static void addNumber(String str) if (str charAt( ) == || ntains( ) || ntains( )) return; set add(str);
public static Set<String> set = new TreeSet<String>();
public static void main(String[] args) List<String> list = new ArrayList<String>(); list add( ); list add( ); list add( ); list add( ); list add( ); list add( ); find(list); System out println(set size()); int cols = ; for (String s : set) System out print(s+ ); if(cols == ) System out println(); cols = ;
输出结果
网友提供的一个比较优化的算法
cha138/Article/program/Java/hx/201311/26950相关参考