var readline = require('readline'); const rl = readline.createInterface({     input: process.stdin,     output: process.stdout,     terminal:false }); let n = -1,arr = [],ans = 1; rl.on('line',function(line){     if(n < 0){         n = parseInt(line);     }else{         arr = line.split(' ').map((data)=>parseInt(data));     }     if(arr.length === n){         for(let i = 0; i < n; i++){             let k = i,count = 0;             //当遇到0的时候开始计数,并且找后面连续的元素是不是0,记录当前0的个数count和i值             while(!arr[i]&&i < n){                 i++;                 count++;             }             //只要不是数组最前面和最后面的0,那么每次连续出现count次0的话,方法数就是count+1,然后所有方法数相乘             if(k !== 0 && i < n && count){                 ans = ans*(count+1);             }             //为了能够使i指向不为0的下一位,所以加上下一句,其实不需要,因为下一位不为0,就不会执行上面代码然后会继续循环             // if(count)i--;         }         console.log(ans);         rl.close();     } })
点赞 评论

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务