交错序列

来源:互联网 发布:梦里花落知多少闻婧被 编辑:程序博客网 时间:2024/04/30 22:13

题目描述:

我们定义一个由数字0和1组成的序列是交错序列,当且仅当这个序列中的0和1是轮流出现的,比如,0,010,10101都是交错序列。现在我们给出了一个由数字0和1组成的序列A,它可能不是一个交错序列,但是你可以从这个序列中选择一些数字出来,按他们在序列A中的原有的相对顺序排列(即选取A的一个子序列),使得你最后得到的是一个交错序列。问这样得到的交错序列的最长长度是多少。

输入:
第一行包含一个整数n,表示这个输入序列的长度。
第二行包含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;}