相关疑难解决方法(0)

从n返回k个元素的所有组合的算法

我想写一个函数,它将一个字母数组作为参数,并选择一些字母.

假设您提供了8个字母的数组,并希望从中选择3个字母.然后你应该得到:

8! / ((8 - 3)! * 3!) = 56
Run Code Online (Sandbox Code Playgroud)

数组(或单词)返回,每个包含3个字母.

algorithm combinations

551
推荐指数
23
解决办法
43万
查看次数

列出字符串/整数的所有排列

编程访谈中的一个常见任务(不是根据我的访谈经验)是采用字符串或整数并列出每个可能的排列.

有没有这样做的例子和解决这个问题背后的逻辑?

我已经看过一些代码片段,但它们没有得到很好的评论/解释,因此难以理解.

c# algorithm permutation

150
推荐指数
13
解决办法
14万
查看次数

没有递归函数调用的排列

要求:生成集合的所有可能组合的算法,无需重复,或递归调用函数以返回结果.

大多数,如果不是所有的答案都在JavaScript中的Permutations提供从循环或其他函数中递归调用函数以返回结果.

循环内的递归函数调用示例

function p(a, b, res) {
  var b = b || [], res = res || [], len = a.length;
  if (!len) 
    res.push(b)
  else 
    for (var i = 0; i < len 
         // recursive call to `p` here
       ; p(a.slice(0, i).concat(a.slice(i + 1, len)), b.concat(a[i]), res)
       , i++
    );
  return res
}

p(["a", "b", "c"]);
Run Code Online (Sandbox Code Playgroud)

当前的问题试图在线性过程中创建给定的排列,依赖于先前的排列.

例如,给定一个数组

var arr = ["a", "b", "c"];
Run Code Online (Sandbox Code Playgroud)

确定可能的排列总数

for (var len = 1, i = k …
Run Code Online (Sandbox Code Playgroud)

javascript algorithm permutation

29
推荐指数
6
解决办法
4479
查看次数

求出词典索引的数值置换算法

我正在寻找一个算法,给出一组数字(例如1 2 3)和一个索引(例如2)将根据字典顺序得到这些数字的第二个排列.例如,在这种情况下,算法将返回1 3 2.

algorithm permutation

6
推荐指数
2
解决办法
5407
查看次数

标签 统计

algorithm ×4

permutation ×3

c# ×1

combinations ×1

javascript ×1