Javascript 当循环保持超时时,can';我不明白为什么(黑客问题)
我在Hackerrank上做repeatedString问题,我的代码无法通过所有案例。我的代码似乎是正确的,但在获取大整数时会超时 我尝试过使用不同的for循环,但我似乎无法理解,我对编码有点陌生。我试着做一个if语句,说如果s等于'a',那么计数等于n,但这并不能帮助它通过所有测试用例。我敢肯定,如果你需要的话,你可以用谷歌搜索repeatedStr问题 根据我输入的代码,我希望计数等于nJavascript 当循环保持超时时,can';我不明白为什么(黑客问题),javascript,loops,while-loop,Javascript,Loops,While Loop,我在Hackerrank上做repeatedString问题,我的代码无法通过所有案例。我的代码似乎是正确的,但在获取大整数时会超时 我尝试过使用不同的for循环,但我似乎无法理解,我对编码有点陌生。我试着做一个if语句,说如果s等于'a',那么计数等于n,但这并不能帮助它通过所有测试用例。我敢肯定,如果你需要的话,你可以用谷歌搜索repeatedStr问题 根据我输入的代码,我希望计数等于n function repeatedString(s, n) { let count = 0
function repeatedString(s, n) {
let count = 0
let subStr = ''
while (subStr.length <= n) { //it times out
for (let i = 0; i < s.length; i++){
let element = s[i]
if (element) {
subStr += element
}
}
}
for (let j = 0; j < subStr.length - 1; j++){
let element = subStr[j]
if (element === 'a') {
count++
}
}
return count
}
repeatedString('a', 100000000)
函数repeatedString(s,n){
让计数=0
设subStr=''
而(subStr.length我想这就是挑战:
主要问题是while
循环和for
循环
while
循环正在检查第8行的string.length,您有if(元素)
?If element what?那不应该是括号中的其他内容吗?另外,你只是将字母“a”传递到函数中?它似乎没有传递给我错误的输出。此外,我对代码做了一些修改。在第二个for循环下,它应该是I// replace the while and for loop with this
let i = 0
while (subStr.length <= n) {
let element = s[i]
if (element) {
subStr += element
}
i++;
}