javascript - 排列需要帮助编码

标签 javascript html arrays permutation

谢谢你的回复,首先我要感谢你试图帮助我,我已经在几个网站上发布了这个也没有人试图提供帮助。

对于我的代码,我希望做的是排列计数。

会从上往下数
1,2,3
1,2,3
1,2,3

output to
111 = 1
112 = 1
113 = 1
121 = 1
122 = 1
123 = 1
133 = 1
211 = 1
212 = 1
213 = 1
333 = 1

继续,直到所有的数都被数完,并存储到数组中,可以查看到底有多少个数

代码将检查输入的数字并计算有多少结果,并显示有多少结果的结果以及每个结果在排列计数后有多少。

做起来难吗?

无论如何,谢谢你的帮助。

最佳答案

我想这并不难。这只是标准排列的事情。您需要使用一点递归:

function permute(size) {
    var range = getRange(size);
    var result = [];
    getSubPerms('', range, result);
    return result;
};

function getRange(size) {
    var range = [];
    for (var i = 0; i < size; i++) {
        range.push(i + 1);
    }
    return range;
}

function getSubPerms(perm, range, result) {
    for (var i = 0; i < range.length; i++) {
        var perm2 = perm + range[i];
        if (perm2.length == range.length) {
            result.push(perm2);
        } else {
            getSubPerms(perm2, range, result);
        }
    }
}

var foo = permute(4); //an array of all of your results.
alert(foo.length); //256

但是,如果您只对它的长度感兴趣,而不必生成结果,那么只需 Math.pow(size, size) 即可获取结果的长度.

关于javascript - 排列需要帮助编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13577484/

相关文章:

javascript - 将 Node.js 与本地服务器相结合

Javascript:我的数组的大小随着每次 for 循环迭代而减小。为什么?

java - 从 .txt 文件向数组添加数字

php - 是否可以从 Ajax 调用外部 PHP 脚本?

javascript - 如何仅在事件选项卡中获取所选选项的属性?

javascript - 设置 iframe innerHTML 而不在其中加载页面(使用 jquery)

javascript - 将原始 javascript 对象数组转换为结构化对象树,为 ng-repeat 做好准备

javascript - React 路由器在 aws s3 存储桶中不起作用

javascript - 如何使用 html 表单作为输入运行 python 函数?

html - 如何为 div 框做 css 位置代码?