我對組合學很陌生。所以這就是為什么我試圖找出一種方法來為特定范圍的數字生成所有可能的組合。問題是我真的不知道它是如何作業的。我現在想了解 2 天的邏輯。每個組合都應該有三個數字,存盤在一個額外的陣列中,例如:[7,4,8]。用戶應該能夠選擇一個數字范圍。如果有人能幫助我,我將不勝感激。
我試圖使用幾個 for 回圈來獲得某些組合。但是那個技術好像非常非常復雜,非常非常不干凈。我正在努力弄清楚可能存在哪些組合型別。我想寫一個看起來像這樣的函式:
function generateCombinations(min, max) {
// LOGIC
return combinations;
}
generateCombinations(0, 10);
// Example OUTPUT
/*
[
[0,5,10],
[10,10,10],
[7,4,1],
. . .
]
*/
希望你能幫助我。謝謝
uj5u.com熱心網友回復:
這非常簡單。只需使用從最小值到最大值的 3 個嵌套回圈(因為您的組合大小為 3),繼續將組合收集到一個陣列中,您就完成了。
function generateCombinations(min, max){
let result = [];
for(let i = min; i <= max; i){
for(let j = min; j <= max; j){
for(let k = min; k <= max; k){
result.push([i, j, k]);
}
}
}
return result;
}
console.log(generateCombinations(0, 10));
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/537786.html
下一篇:SQL匹配日期和產品
