一个关于排列组合的问题 有字符串数组String[] ar = { "1", "2", "3", "4", "5" }。1、任意选出三个数,写出所有可能的组合(不可重复,三个数之间也不可重复)。2、写出一共有多少个组合。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有时间发这种帖子,还不如去 Google 一下。 这个简单组合的个数是 数组长度 - 一个组合包含多少数的差 加上1 然后递减最后将 所以数字循环加起来(递归也行)例如有字符串数组String[] ar = { "1", "2", "3", "4", "5" }。 x =(5 - 3 + 1)y += xx--当然你用循环遍历所以可能的组合每次出现符合的组合就打印出来并且写一个计数器也行 将组合的数存到HashSet中去,重复的会自动去掉,看看我的代码合要求不.import java.util.*;public class TestGroup { /** * @param args */ public HashSet group(String[] ar){ HashSet<String> set=new HashSet<String>(); for(int i=0;i<ar.length;i++){ for(int j=0;j<ar.length;j++){ for(int k=0;k<ar.length;k++){ if(ar[i]==ar[j]&&ar[j]==ar[k])//如果三个数一样就不存进去. continue; else set.add(ar[i]+ar[j]+ar[k]); } } } return set; } public static void main(String[] args) { String[] ar=new String[]{"1","2","3","4","5"}; HashSet<String> set=new HashSet<String>(); TestGroup test=new TestGroup(); set=test.group(ar); System.out.println(set.size()); Iterator it=set.iterator(); while(it.hasNext()){ System.out.print(it.next()+" "); } System.out.println("一共有"+set.size()+"个组合"); }} JComboBox中添加适当的监听器 关于更新数据库内容的效率问题 基础问题 数组的内存 [求助]把相对路径转为绝对路径的算法 抽象类的子类 我在JPanel中用表格的模型,用集合来插入表格数据,无法显示,必须要数组才行,请专家指点 利用java反射机制可以访问类的私有成员,这不是破坏了面向对象类的封装性原则吗? 小小的问题。。。 往数据库差入超长字符串问题。。。 关于接口 如何测试两台计算机的网络联结是否存在 稳定? 自认为是比较变态的逻辑题。看看你们晕了吗?
组合的个数是
数组长度 - 一个组合包含多少数
的差 加上1 然后递减
最后将 所以数字循环加起来(递归也行)
例如
有字符串数组String[] ar = { "1", "2", "3", "4", "5" }。
x =(5 - 3 + 1)
y += x
x--当然你用循环遍历所以可能的组合
每次出现符合的组合就打印出来
并且写一个计数器
也行
import java.util.*;public class TestGroup { /**
* @param args
*/
public HashSet group(String[] ar){
HashSet<String> set=new HashSet<String>();
for(int i=0;i<ar.length;i++){
for(int j=0;j<ar.length;j++){
for(int k=0;k<ar.length;k++){
if(ar[i]==ar[j]&&ar[j]==ar[k])//如果三个数一样就不存进去.
continue;
else
set.add(ar[i]+ar[j]+ar[k]);
}
}
}
return set;
}
public static void main(String[] args) {
String[] ar=new String[]{"1","2","3","4","5"};
HashSet<String> set=new HashSet<String>();
TestGroup test=new TestGroup();
set=test.group(ar);
System.out.println(set.size());
Iterator it=set.iterator();
while(it.hasNext()){
System.out.print(it.next()+" ");
}
System.out.println("一共有"+set.size()+"个组合");
}}