猿问

javascript计算1-10000中0出现的次数,怎么写?

一个小算法题:用javascript计算1-10000中0出现的次数,我用循环写了一个方案,代码如下:


function getZeroCount(num) {

    let count=0;

    let regObj=/0/g;

    for (let i=1;i<=num;i++){

        let str=''+i;

        let match=str.match(regObj);

        count+=match==null?0:match.length;

    }

    return count;

}

console.log(getZeroCount(10000));

计算的结果是对的,但是总感觉用循环做这个题,思路是错的,或者我的代码思路不够好,有没有更好的解题思路呢?


小怪兽爱吃肉
浏览 783回答 1
1回答

收到一只叮咚

1 - 9,有 0 个 010 - 99 有 9 个 0100 - 999 有 9 * 10 * 2 = 180 个 01000 - 9999 有 9 * 10 * 10 * 3 = 2700 个 0
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答