/**
*获取n个数中和等于sum的两个数的集合比如(1,2,3,4,5)中获取和等于7的组合(3,4;2,5)
*/
function getCombination(sum,vArray){
var lArray = [];
vArray.sort(compare1);
for(var i=0,vLength=vArray.length;i<vLength-1;i++){
for(var j=i+1;j<vLength;j++){
if(vArray[i]+vArray[j]==sum){
lArray.push(vArray[i]+"&"+vArray[j]);
}
}
}
alert(lArray);
}
function compare1(value1,value2){
if(value1<value2){
return -1;
}else if(value1>value2){
return 1;
}else{
return 0;
}
}
var a = [7,2,3,4,5,12,8];
getCombination(12,a);//4&8,5&7
*获取n个数中和等于sum的两个数的集合比如(1,2,3,4,5)中获取和等于7的组合(3,4;2,5)
*/
function getCombination(sum,vArray){
var lArray = [];
vArray.sort(compare1);
for(var i=0,vLength=vArray.length;i<vLength-1;i++){
for(var j=i+1;j<vLength;j++){
if(vArray[i]+vArray[j]==sum){
lArray.push(vArray[i]+"&"+vArray[j]);
}
}
}
alert(lArray);
}
function compare1(value1,value2){
if(value1<value2){
return -1;
}else if(value1>value2){
return 1;
}else{
return 0;
}
}
var a = [7,2,3,4,5,12,8];
getCombination(12,a);//4&8,5&7