【发布时间】:2014-11-05 19:51:07
【问题描述】:
我试图弄清楚如何编写一个函数,该函数接受两个整数 n 和 k,并找到从 0 到 n 的所有长度为 k 的整数的严格递减序列。
例如,allDecreasing(5, 3) 返回
[[4,3,2], [4,3,1], [4,3,0], [4,2,1], [4,2,0], [4,1,0 ], [3,2,1], [3,2,0], [3,1,0], [2,1,0]]
到目前为止,我只有:
function all-decreasing(n, k) {
if (n > k-1) {
all-decreasing(n-1, k);
}
}
这并不多,因为我不太确定如何处理迭代部分。排列和子集算法一直让我感到困惑。如果有人能给我一个关于如何开始的想法,将不胜感激!谢谢。
【问题讨论】:
-
从范围中选择n个整数,排序。要对每个这样的集合只选择一次,有多种实现方式,例如参见here。
标签: javascript algorithm subset