var list = [1, 2, 4, 10, 11, 19, 24, 30];
function combine(arr, len) {
//存放最后的结果
var cidx = 1;
var res = [];
const result = []
arrayN(0, arr, len, cidx, res)
res.forEach(e => {
list.filter(item=>item<=16).forEach(item => result.push([...e,'-'+item].join(' ')))
})
console.log(result);
}
function arrayN(idx, arr, len, cidx, res) {
let arrlen = arr.length - 1;
let ks = arrlen + 1 - (cidx + len - 1);
for (let k = 0; k <= ks; k++) {
let a = arr.slice(cidx + k, cidx + k + len - 1)
res.push([arr[idx], ...a]);
}
if (arrlen - idx >= len - 1) arrayN(idx + 1, arr, len, cidx + 1, res);
}
combine(list, 6)
从N个数字中生成指定长度并且不重复的最多组合
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 题目:现在有多组整数数组,需要将他们合并成一个新的数组。合并规则,从每个数组里按顺序取出固定长度的内容合并到新的数...
- 好久没有写文章了,因为近期在搞一个关于文献以及期刊信息查询,下载,绘图于一体的功能软件,所以忙的有点懵B,就没有时...
- 场景:随机生成50个字符串,字符串中包含数字、字母、指定特殊字符 输出结果:"9ONNCKx81GfMZBxitw...