知识大全 关于数字排列的一个程序

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

相关参考

知识大全 男孩英文名字j开头带翻译

在二十六个字母当中,每一个字母都有与之对应的读音,写法与含义,就像是一到十的阿拉伯数字一样,每一个字母按照它特定的排列顺序来排列,然后组成一个新的单词或者数字。那么在现在有很多人在取名英文名字的时候,

知识大全 帮我找一份电工实习报告,关于数字万用表的

急!帮我找一份电工实习报告,关于数字万用表的一个月的电工实习期过去了,这短暂的一个月中,使我从理论到实践上的一个飞跃,这次电工实习,使我深刻地理解了实践的重要性,理论无论多么熟悉,但是缺乏了实践的理论

知识大全 15446的排列组合有多少种,请写出来,谢谢

15446的排列组合有多少种,请写出来,谢谢!5!/2!=60种因为4之间的排法造成重复,所以除掉重复的,0到9的排列组合有多少种不晓得排列六位数为一组是什么意思,如果是从中抽取6个数字排列为一个六位

知识大全 excel支持在乱序中数字定位在哪一区的函数

excel支持在乱序中数字定位在哪一区的函数借助RAND函数实现一列数字乱序排列。方法步骤:1、插入一个辅助列;2、在辅助列对应原列第一个有数字的同行单元格中输入=rand()并下拉填充。3、选定原数

知识大全 一个关于抛出异常的程序代码的分析

  publicclasstest  publicstaticstringoutput=    publicstaticvoidfoo(inti)  try  if(i==)  thrownewExc

知识大全 格式化输出数字

  格式化输出数字  有时我们需要控制输出的数字的格式如何使用java的类库做到这个呢?    也许你不关心格式但是你需要关心你的程序可以在全世界通用像下面的这样一个简单的语句是依赖地区的    Sy

知识大全 一个关于如何解决复杂编码的挑战问题

  示例代码展示了多种解决互联网应用程序开发的方法    开发互联网应用程序是非常复杂的你不仅要实现定义应用程序的行为和逻辑还必须在分布式环境下将多种产品技术层次和标准结合在一起    例如考虑一个几

知识大全 android 签名 对权限有作用吗

android签名对权限有作用吗Android系统要求每一个Android应用程序必须要经过数字签名才能够安装到系统中,也就是说如果一个Android应用程序没有经过数字签名,是没有办法安装到系统中的

知识大全 关于各种排列组合java算法实现方法

  一利用二进制状态法求排列组合此种方法比较容易懂但是运行效率不高小数据排列组合可以使用复制代码代码如下:importjavautilArrays;  //利用二进制算法进行全排列//count://

什么是电气零位?

电气零位,就是利用电器测量元件测量出来的”0”位置信号,(比如编码器,电子尺等测量元件测量出来的位置信号数字),这个电气零位是程序员定义的相对机械零位的一个数字(可以把机械零位对应的测量元件测量数字0