我发现此递归函数可用于生成数组(https://codereview.stackexchange.com/questions/7001/generating-all-combinations-of-an-array)的所有组合。
function getCombinations(chars) {
var result = [];
var f = function(prefix, chars) {
for (var i = 0; i < chars.length; i++) {
result.push(prefix + chars[i]);
f(prefix + chars[i], chars.slice(i + 1));
}
}
f('', chars);
return result;
}
如何找到函数 getCombinations 的时间复杂度?
PS:我发现了类似的问题,但并不太了解(Complexity when generating all combinations)