敬求排列组合类算法,见描述

BlueSoftEye 2007-04-19 04:39:58
public static String[][] arithmetic(ArrayList list){

String arr=(String[])list.get(x)
//list的每一项都是一个String[],list有多少项不定,String[] 有多少维不定
//求数组间排列组合的结果


//如
list.get(0)=String[2]{"1","2"};
list.get(1)=String[3]{"a","b","c"};
//则返回:
1 a
1 b
1 c
2 a
2 b
2 c

//如
list.get(0)=String[2]{"1","2"};
list.get(1)=String[3]{"a","b","c"};
list.get(2)=String[2]{"d","e"};

//则返回:
1 a d
1 a e
1 b d
1 b e
1 c d
1 c e

2 a d
2 a e
2 b d
2 b e
2 c d
2 c e

}
...全文
283 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
BlueSoftEye 2007-04-23
  • 打赏
  • 举报
回复
to geelpheels(geelpheels) :
老大,你强!
geelpheels 2007-04-23
  • 打赏
  • 举报
回复
我分少得可怜,给点吧。
geelpheels 2007-04-23
  • 打赏
  • 举报
回复
import java.util.ArrayList;

public class Test {


public static void main(String[] args)
{
ArrayList list=new ArrayList();
list.add(new String[]{"1","2"});
list.add(new String[]{"a","b","c"});
list.add(new String[]{"d","e"});

Test test=new Test();
test.visit(1,new StringBuffer(""),list);
}

public void visit(int depth,StringBuffer lastLevelStringBuff,ArrayList inputList){
String[] currentLevelString=(String[])inputList.get(depth-1);
if(depth==inputList.size())
{
for(int i=0;i<currentLevelString.length;i++)
{
StringBuffer sb=new StringBuffer().append(lastLevelStringBuff);
System.out.println(sb.append(currentLevelString[i]));
}
}
else
{
for(int i=0;i<currentLevelString.length;i++)
{
StringBuffer sb=new StringBuffer().append(lastLevelStringBuff);
visit(depth+1,sb.append(currentLevelString[i]).append(" "),inputList);
}
}
}

}
cs2007dn 2007-04-19
  • 打赏
  • 举报
回复
看看这里:
http://www.elearning.gov.cn/elearning/user/findclass.do?method=courselist&categoryid=57982540b6cd11d993d0f770c0a83c70&id=2
yeah920 2007-04-19
  • 打赏
  • 举报
回复
upppppppppppppppp

62,614

社区成员

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

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