给定一组X项,编写算法以获得可能排列的每个组合,以输出3个项的唯一子集。顺序无关紧要,{A B C}与{B A C}相同 示例:输入:{ABCD}输出:{ABC},{ABD},{ACD},{BCD}
const sizeSubsets = function(input) {
size = input.length;
for(let i = 1; i < size-1; i++)
for(let j = i + 1; j < size-1; j++)
for(let k = j + 1; k < size-1; k++)
console.log("{"+input[i]+input[j]+input[k]+"}");
}
const input = "{ABCD}";
sizeSubsets(input);
&#13;
上述标准解决方案给出了所需的结果,但是,我的时间,空间复杂性成本高,如果我是正确的,它是O(n)。
可以更好(替代解决方案)吗?