题目描述:
我们定义一个由数字0和1组成的序列是交错序列,当且仅当这个序列中的0和1是轮流出现的,比如,0,010,10101都是交错序列。现在我们给出了一个由数字0和1组成的序列A,它可能不是一个交错序列,但是你可以从这个序列中选择一些数字出来,按他们在序列A中的原有的相对顺序排列(即选取A的一个子序列),使得你最后得到的是一个交错序列。问这样得到的交错序列的最长长度是多少。
输入:
第一行包含一个整数n,表示这个输入序列的长度。
第二行包含n个0或1,表示对应的序列。
第二行包含n个0或1,表示对应的序列。
输出:
输出能够得到的最长交错序列的长度。
JS代码:
var num=parseInt(real_line());
var arr=readLine().split(" ");
print(cross(arr,num));
function cross(str,n){
var res=str[0];
for(var i=1;i<n;i++){
if(res[res.length-1]!=str[i])
res+=str[i];
}
return res.length;
}
function readLine() {
var line = "";
var next = read_line();
while(next.length >= 1024) {
line += next;
next = read_line();
}
line += next;
return line;
}