题解 | #刷墙#
刷墙
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)
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)