Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当循环保持超时时,can';我不明白为什么(黑客问题)_Javascript_Loops_While Loop - Fatal编程技术网

Javascript 当循环保持超时时,can';我不明白为什么(黑客问题)

Javascript 当循环保持超时时,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

我在Hackerrank上做repeatedString问题,我的代码无法通过所有案例。我的代码似乎是正确的,但在获取大整数时会超时

我尝试过使用不同的for循环,但我似乎无法理解,我对编码有点陌生。我试着做一个if语句,说如果s等于'a',那么计数等于n,但这并不能帮助它通过所有测试用例。我敢肯定,如果你需要的话,你可以用谷歌搜索repeatedStr问题

根据我输入的代码,我希望计数等于n

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++; }