【发布时间】:2017-09-02 05:22:39
【问题描述】:
我正在尝试优化一个功能。我相信这个嵌套的 for 循环是二次的,但我并不肯定。我已经重新创建了下面的函数
const bucket = [["e","f"],[],["j"],[],["p","q"]]
let totalLettersIWantBack = 4;
//I'm starting at the end of the bucket
function produceLetterArray(bucket, limit){
let result = [];
let countOfLettersAccumulated = 0;
let i = bucket.length - 1;
while(i > 0){
if(bucket[i].length > 0){
bucket[i].forEach( (letter) =>{
if(countOfLettersAccumulated === totalLettersIWantBack){
return;
}
result.push(letter);
countOfLettersAccumulated++;
})
}
i--;
}
return result;
}
console.log(produceLetterArray(bucket, totalLettersIWantBack));
【问题讨论】:
-
如果我们无论如何都不能运行它,你为什么要把它做成一个 sn-p?
-
@Vallentin 对此感到抱歉。现在可以执行了。
标签: javascript time-complexity big-o computer-science