用1,2,2,3,4,5这六个书字,用Java写一个main函数,打印出所有的排列

用1、2、2、3、4、5这六个数字,数字排序经典算法 - 世范水晶 - ITeye博客
博客分类:
public class Numarray {
用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,
如:2345等,要求: "4 "不能在第三位, "3 "与 "5 "不能相连.
public static void main(String[] a){
System.out.println("结果是:");
int count = 0 ;
for(start=122345;start &=543221;start++){
String s = String.valueOf(start);
if(Validate(s))
if((s.indexOf("35")==-1)&&(s.indexOf("53")==-1)&&(s.charAt(2)!='4')){
System.out.println(s);
System.out.println("最后结果共"+count);
public static boolean Validate(String l)
int[] a = new int[]{0,0,0,0,0};
for(int i=0;i &6;i++)
{ if(l.charAt(i)=='1')
if(l.charAt(i)=='2')
if(l.charAt(i)=='3')
if(l.charAt(i)=='4')
if(l.charAt(i)=='5')
if(a[0]==1&&a[1]==2&&a[2]==1&&a[3]==1&&a[4]==1)
这个算法想法不错,但太耗时,我用1、2、2、3、4、5、6、7试了试,大概需要15秒,而采用图遍历的方法不到1秒就得出结果了!!!有图遍历方法的代码吗,分享一下吧,嘿嘿
jackroomage
浏览: 646019 次
来自: 北京
第一个方法是不对的
[color=orange][/color]包女包女不女
seagrave 写道这个算法想法不错,但太耗时,我用1、2、 ...
日常生活中,我们都不按你上面的那个方法算的!!!Java复习题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Java复习题
上传于|0|0|文档简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩4页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢java排列组合(1,2,3,4,5随意组合)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
java排列组合(1,2,3,4,5随意组合)
上传于|0|0|暂无简介
你可能喜欢鍙?渶涓

我要回帖

更多关于 用订书钉做六芒星 的文章

 

随机推荐