【发布时间】:2019-04-06 18:35:52
【问题描述】:
我在这个特殊问题上遇到了困难。
我被要求找到一个比输入数组严格少一个元素的组合子集。例如来自数组:
var num = [1,2,3,4,5]
找出这些组合:
[1,2,3,4]
[2,3,4,5]
[1,2,4,5]
[1,2,3,5]
[1,3,4,5]
从这个数组中:
var num = [2,4,6]
找出这些组合:
[2,4]
[2,6]
[4,6]
我已经尝试过这段代码,但它不是动态的,因为我必须打印数组的每个索引:
var num = [1,2,3,4,5];
var n = num.length;
var i, j;
for(i = 0; i < n; i++){
for(j = i + 1; j < n; j++){
console.log(num[i] + ", " + num[j]);
}
}
有没有办法做到这一点?提前致谢。
【问题讨论】:
-
你的问题没有明确定义,你的意思是找到所有的子集严格来说比输入数组少一个元素吗?
-
数组中是否有重复项,如果有,应如何处理?
-
@UriGoren 是的,谢谢指正,我已经修改了问题
-
@ScottSauyet 是的,第一组包含 [2,3,4,5],已在问题中列出
-
@MarkSchultheiss 唯一组合仅限于数组中的特定索引。就此而言,该值可能是重复的。
标签: javascript arrays combinations