java 排列三界面设计_【排列三千禧试机号】java实现排列组合输出

大家好,本文问题是【排列三千禧试机号】java实现排列组合输出,由专家川南财界神鹰解答。下面是具体回答内容:

完成了一种实现,发给你参考下。32313133353236313431303231363533e78988e69d8331333363386133

不过感觉应该还有更好的办法,有时间我会继续研究下.import java.util.ArrayList;

import java.util.Arrays;

import java.util.HashSet;

import java.util.List;

import java.util.Set;

public class TestQiuhe {

//集合a{1,2,3,5,7,10},输出不多于4个元素(不重复)的加和为22的组合。

public static void main(String[] args) {

int[] nums={1,2,3,5,7,10};

int l = nums.length;

List results=new ArrayList();

for(int i1=0;i1

for(int i2=0;i2

if(nums[i1]==22){

results.add(new int[]{nums[i1]});

}

if(i2!=i1){

if(nums[i1]+nums[i2]==22){

results.add(new int[]{nums[i1],nums[i2]});

}

for(int i3=0;i3

if(i3!=i1 && i3!=i2){

if(nums[i1]+nums[i2]+nums[i3]==22){

results.add(new int[]{nums[i1],nums[i2],nums[i3]});

}

for(int i4=0;i4

if(i4!=i1 && i4!= i2 && i4!=i3){

if(nums[i1]+nums[i2]+nums[i3]+nums[i4]==22){

results.add(new int[]{nums[i1],nums[i2],nums[i3],nums[i4]});

}

}

}

}

}

}

}

}

//去重

Set reSet=new HashSet<>();

for(int[] r:results){

Arrays.sort(r);

reSet.add(Arrays.toString(r));

}

System.out.println("一共得到结果集:"+reSet.size());

System.out.println(reSet);

}

}

运行结果:

一共得到结果集:2

[[5, 7, 10], [2, 3, 7, 10]]

答案二String[]b=newString[a.length-1];for(inti=0;i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值