一个小算法题:用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));计算的结果是对的,但是总感觉用循环做这个题,思路是错的,或者我的代码思路不够好,有没有更好的解题思路呢?
1 回答
收到一只叮咚
TA贡献1821条经验 获得超4个赞
1 - 9,有 0 个 0
10 - 99 有 9 个 0
100 - 999 有 9 * 10 * 2 = 180 个 0
1000 - 9999 有 9 * 10 * 10 * 3 = 2700 个 0
添加回答
举报
0/150
提交
取消