题解 | #刷墙#

刷墙

http://www.nowcoder.com/questionTerminal/748b891f208744a7b1f98cb4c45bde11

JS代码解析:

var k=readline();//消耗掉元素个数的输入(第一行)
var input=readline();//这行才是有用的 
var count1=0
//统计1的个数
for(var i=0;i<input.length;i++){
    if(parseInt(input[i])==1) count1++;
}
var min1=Math.min(count1,input.length-count1);//全蓝或者全红的最小值
//左蓝右红
var left1=0;
for(var i=0;i<input.length;i++){
    if(parseInt(input[i])==1) left1++;//统计1的个数
    var min2=i+1-left1+count1-left1; //i+1-left1表示当前位置(索引从0开始)前面是0(红)的个数(即需要转换红为蓝的个数);(count1-left1)表示当前位置后面1(蓝)的个数(即需要转换蓝为红的个数)
    if(min2<min1) min1=min2
}
console.log(min1)



全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务