-3
實施例:組合誰總和等於n
var a = [1,2,3,4,5,6];
我想顯示所有陣列中的獨特的3個組合,其中的那些3個數字的總和等於9(或N)。
所以導致這個例子是:
[1,2,6]
[2,3,4]
[1,3,5]
我能找到最近的事情是一個字符串的排列...
var alphabet = "abcde"; // shortened to save time
function permute(text) {
if(text.length === 3) { // if length is 3, combination is valid; alert
console.log(text); // or alert
} else {
var newalphabet = alphabet.split("").filter(function(v) {
return text.indexOf(v) === -1;
}); // construct a new alphabet of characters that are not used yet
// because each letter may only occur once in each combination
for(var i = 0; i < newalphabet.length; i++) {
permute(text + newalphabet[i]); // call permute with current text + new
// letter from filtered alphabet
}
}
}
permute("");
我不是一個真正的編碼器,只是在別人的東西劈砍而去。我能找到的最接近的東西是一個字符串的排列,在上面添加。 –