Tag: 排列

生成所有设置了k位的长度为n的二进制string

find包含k位集的长度为n的所有二进制string的最佳algorithm是什么? 例如,如果n = 4,k = 3,则有… 0111 1011 1101 1110 我需要一个好的方法来生成这些给定的任何n和任何k,所以我宁愿用string来完成。

如何在PHP中生成一个string的所有排列?

我需要一个algorithm返回一个string中所有字符的所有可能的组合。 我试过了: $langd = strlen($input); for($i = 0;$i < $langd; $i++){ $tempStrang = NULL; $tempStrang .= substr($input, $i, 1); for($j = $i+1, $k=0; $k < $langd; $k++, $j++){ if($j > $langd) $j = 0; $tempStrang .= substr($input, $j, 1); } $myarray[] = $tempStrang; } 但是,只返回与string长度相同的数量组合。 说出$input = "hey" ,结果是: hey, hye, eyh, ehy, yhe, yeh […]

获取一个PHP数组的所有排列?

给定一个string的PHP数组,例如: ['peter', 'paul', 'mary'] 如何生成这个数组元素的所有可能的排列? 即: peter-paul-mary peter-mary-paul paul-peter-mary paul-mary-peter mary-peter-paul mary-paul-peter

排列 – 所有可能的数字组合

我有数字,从0到8.我想结果,这些数字的所有可能的集合,每个集合应该使用所有数字,每个数字只能在一个集合中只出现一次。 我想看看在PHP中可以打印出结果的解决scheme。 或者,至less,我想在组合学的理论上有所提神,因为我早已忘记了它。 计算有多less排列的公式是多less? 示例集: 0-1-2-3-4-5-6-7-8 0-1-2-3-4-5-6-8-7 0-1-2-3-4-5-8-6-7 0-1-2-3-4-8-5-6-7 0-1-2-3-8-4-5-6-7 0-1-2-8-3-4-5-6-7 等等…

JavaScript – 从m个元素生成n个数组的组合

我遇到了麻烦,想用代码来生成n个数组中有m个元素的组合,在JavaScript中。 我已经看到了类似的其他语言的问题,但答案包括我不确定如何翻译句法或库的魔法。 考虑这些数据: [[0,1], [0,1,2,3], [0,1,2]] 3个数组,其中有不同数量的元素。 我想要做的是通过组合来自每个数组的项目来获得所有的组合。 例如: 0,0,0 // item 0 from array 0, item 0 from array 1, item 0 from array 2 0,0,1 0,0,2 0,1,0 0,1,1 0,1,2 0,2,0 0,2,1 0,2,2 等等。 如果数组的数量是固定的,那么很容易做出硬编码的实现。 但是arrays的数量可能会有所不同: [[0,1], [0,1]] [[0,1,3,4], [0,1], [0], [0,1]] 任何帮助将不胜感激。

列出string/整数的所有排列

编程采访中的一个常见任务(不是从我的访谈经验来看)是采取一个string或一个整数,并列出每一个可能的排列。 有没有这样做的例子和解决这个问题的逻辑? 我已经看到了一些代码片段,但他们没有很好的评论/解释,因此很难遵循。

JavaScript中的排列?

我试图写一个函数,执行以下操作: 以一个整数数组作为参数(例如[1,2,3,4]) 创build了[1,2,3,4]的所有可能排列的arrays,每个排列的长度为4 下面的函数(我在网上find它)通过把一个string作为参数来做到这一点,并返回该string的所有排列 我无法弄清楚如何修改它以使其与整数数组一起工作(我认为这与某些方法在string上的工作方式不同于整数方法有关,但我不确定。 ..) var permArr = [], usedChars = []; function permute(input) { var i, ch, chars = input.split(""); for (i = 0; i < chars.length; i++) { ch = chars.splice(i, 1); usedChars.push(ch); if (chars.length == 0) permArr[permArr.length] = usedChars.join(""); permute(chars.join("")); chars.splice(i, 0, ch); usedChars.pop(); } return permArr }; 注:我正在寻找使函数返回整数数组, 而不是一个string数组。 我真的需要解决scheme在JavaScript中。 […]

如何在Python中生成一个列表的所有排列

如何在Python中生成一个列表的所有排列,与列表中元素的types无关? 例如: permutations([]) [] permutations([1]) [1] permutations([1, 2]) [1, 2] [2, 1] permutations([1, 2, 3]) [1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1] 编辑:Eliben指出类似于我的解决scheme,虽然更简单,所以我select它作为接受的答案,虽然Python 2.6 +具有itertools模块中的内置解决scheme: import itertools itertools.permutations([1, 2, 3])