
[英]The time-complexity of using object as a dictionary in JavaScript
[英]What is the time-complexity for the following code? (javascript)
有人可以解释以下代码的时间和空间复杂度,并告诉我数学吗?
let genAnagrams = (word, anagram = '', results = []) => {
if (!word) {
results.push(anagram);
return;
}
for (let i = 0; i < word.length; i++) {
genAnagrams(word.slice(0, i) + word.slice(i + 1), anagram + word[i], results);
}
return [...new Set(results)];
};
我知道slice在每次迭代中都会增加线性时间复杂度,那么这将是二次的吗? 这是O(n!*(n-1)!)吗? 还是O(n!)? 或O(n * n!)?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.