import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) {
ArrayList<Integer> result = new ArrayList<>();
ArrayList<ArrayList<Integer>> a = new ArrayList<ArrayList<Integer>>();
if(array.length==0){
return result;
}
if(array[0]>sum){
return result;
}
int s = sum;
//得到所有可能结果
for(int i=0;i<array.length-1;i++){
ArrayList<Integer> b = new ArrayList<>();
b.add(array[i]);
sum = sum-array[i];
for(int j=i+1;j<array.length;j++){
if(sum==array[j]){
b.add(array[j]);
a.add(b);
sum = s;
break;
}
if(array[j]>sum){
sum = s;
break;
}
}
}
//遍历所有结果,计算乘积,返回最小结果
int multi = 0;
int index = 0;
int m = 0;
if (a.size() == 0) {
return result;
} else {
for(int i=0;i<a.size();i++){
m=a.get(i).get(0)*a.get(i).get(1);
if (m<multi) {
index=i;
multi=m;
}
}
}
return a.get(index);
}
}