![](/img/trans.png)
[英]Javascript for Variations with Repetition (combinatorics) of missing string characters
[英]Code for Variations with repetition (combinatorics) using javascript?
有沒有人有用於生成所有重復變體的 Javascript 代碼?
重復變化的例子:
(size=3, input=A,B)
AAA, AAB, ABA, BAA, ABB, BAB, BBA, BBB
我需要做的是對 0-9 的數字作為輸入和 6 位長度作為大小(根據我的例子)做一些類似的事情。
只是想知道,我使用 Java 中的代碼以及基於此項目的 .NET 代碼進行了此工作(檢查鏈接)。 我需要的所有重復變化都會產生 1000000 個值。
http://www.codeproject.com/KB/recipes/Combinatorics.aspx
是否可以在 Javascript 中做到這一點?
提前致謝。
你從組合學中選擇了最簡單的情況...
var i, n = 1000000;
for (i = 0; i < n; i++)
console.log(('' + (i + n)).substring(1));
將為您提供 6 個點中 0-9 的所有組合(1000000 === Math.pow(10, 6)
)。
我現在剛剛寫了它,它需要更多的測試和優化,但這應該會讓你開始:
var input = "ABCD";
var size = 3;
var results = [];
function solve(i, elt) {
if(elt.length == size) {
results.push(elt);
return;
}
for(var j = 0; j < input.length; j++) {
solve(j, elt+input[j]);
}
}
solve(0, "");
console.log(results);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.