本人第一次到csdn发帖,关于一组数字的算法打印方式

liuchao1989 2010-10-03 09:33:54
有如下6个数,1,2,2,3,4,5 用算法打印所有这六个数能组合的(如512342,212345,134522等)
...全文
151 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuchao1989 2010-10-04
  • 打赏
  • 举报
回复
up 大侠们踊跃发言啦!
qjl1000211038 2010-10-04
  • 打赏
  • 举报
回复
这个高级的!
liuchao1989 2010-10-04
  • 打赏
  • 举报
回复
up up ! kebin0001 回答能完成,大侠们还有没有别的实现呢?
kebin0001 2010-10-03
  • 打赏
  • 举报
回复
寫得不好,因為適用性稍低。
原裡是多個重複數,只印其中一種順序。
例如 2(1) 2(2) 其實有兩種排法 2(1) 2(2)與2(2) 2(1)兩種,但只印2(1) 2(2)這種。

public class TestArrange {
public static void main(String[] args){
TestArrange te = new TestArrange();
te.arrange("","",0);
}
private void arrange(String ordStr,String printStr,int ck){
if(printStr.length() == c.length){
if(ck==2){ //最後一個重複數的位置
System.out.println(printStr);
}
}
for(int i=0;i<c.length;i++){
if(ordStr.indexOf(""+i) < 0){
if(c[i]=='2' && i-ck==1){
arrange(ordStr+i,printStr+c[i],i);
}else{
arrange(ordStr+i,printStr+c[i],ck);
}
}
}
}
//重複數必須放在一起
private char[] c = {'1','2','2','3','4','5'};
}
newboy1012 2010-10-03
  • 打赏
  • 举报
回复
还不会,学习
liuchao1989 2010-10-03
  • 打赏
  • 举报
回复
up up!!
千杯不醉-sen 2010-10-03
  • 打赏
  • 举报
回复
写一算法实现排列组合的算法。

public static void rSort(int array[]) {
//....
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧