展开全部
完成了一种实现,发给你参考下。
不过感觉应该还有更好的办法,有时间我会继续研究下.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},输62616964757a686964616fe59b9ee7ad9431333363386133出不多于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 &&a