在jQuery中,如何獲得數組中的所有可能的和?在jquery中,如何獲得數組中所有可能的和?
例如,如果我有一個這樣的數組:[2,3,8]
我會有這樣的結果:[2,3,5,8,10,11,13]
...對應於2 + 3,2 + 8,3 + 8,2 + 3 + 8,以及獨奏2,3,8。
謝謝。尼古拉斯。
在jQuery中,如何獲得數組中的所有可能的和?在jquery中,如何獲得數組中所有可能的和?
例如,如果我有一個這樣的數組:[2,3,8]
我會有這樣的結果:[2,3,5,8,10,11,13]
...對應於2 + 3,2 + 8,3 + 8,2 + 3 + 8,以及獨奏2,3,8。
謝謝。尼古拉斯。
嘗試Travis J's解決方案
var x = [2, 3, 8];
var sums = [];
var sets = [];
function SubSets(read, queued)
{
if(read.length == 4 || (read.length <= 4 && queued.length == 0))
{
if(read.length > 0){
var total = read.reduce(function(a,b){return a+b;},0);
if(sums.indexOf(total)==-1){
sums.push(total);
sets.push(read.slice().sort());
}
}
}
else
{
SubSets(read.concat(queued[0]),queued.slice(1));
SubSets(read,queued.slice(1));
}
}
SubSets([],x);
console.log(sums.sort(function(a,b){return a-b;}));
它不是「純粹的jquery」,但它的作用就像一個魅力!非常感謝。尼古拉斯。 –
@NicolasBocquel沒問題!如果它對你有幫助,你可以點擊加票計數器下的複選標記嗎?謝謝。 – abagh0703
這不難研究或弄清楚......請出示你嘗試過什麼。我們不在這裏爲你做功課 – charlietfl