【每天算法2】:用java语言实现,一个组数:122345这6个数,打印出它所有可能的组合;要求4不能在第3位,3和5不能相连。

来源:互联网 发布:js split函数转数组 编辑:程序博客网 时间:2024/05/22 17:23

一个组数:122345这6个数,打印出它所有可能的组合;要求4不能在第3位,3和5不能相连。

我在实现这个算法的时候,按照len不固定的方式,利用递归方式进行处理。

感觉我的算法复杂度还是挺高的。过程中,不断的创建新的数组列别。

如果你有更好的算法,请发上来,可以好好学习下。

 

 

 

今天的任务又完成了。看明天了。刚找了一道题,看着比较麻烦,不知道明天能不能写出来!嘿

 

明天的题目:

有一个二维Vector,每个元都是字符串(或者其他对象),如下面这个三行,每行元素不固定的二维Vector  V。
                     
A、B、C、D
                      H、I、J、K、M
                      X、Y、Z

      求出满足以下条件的所有Vector D(一定是所有可能的情况):
1.此Vector D的元素包含V的所有元素,且每个元素仅出现一次
2. 此Vector D中包含在V[1]中的元素之间的顺序不能发生改变,即A、B、C、D之间的顺序不发生改变,同理,V[2]、V[3]。都不发生改变。对于本例,也就是说,在结果D中,A、B、C、D的先后顺序不变,H、I、J、K、M的先后顺序不变,X、Y、Z的先后顺序不变。结果D的几种可能的情况是:
            1:A、B、C、D、H、I、J、K、M、X、Y、Z
            2:H、I、A、B、C、X、D、J、K、Y、Z、M
            3:A、H、I、X、Y、Z、B、C、J、K、M、D等等

 

随便找了一道,不仔细看了,好好工作了。明天再仔细观摩一下。