01交错数列

交错序列

http://www.nowcoder.com/questionTerminal/d00c43a0739e4f0ca299d6c5067bb4b9

import java.util.*;
public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        List<Integer> v = new ArrayList<>();
        for(int i = 0; i < a; ++i) v.add(sc.nextInt());
        if(v.size() <= 1){     //长度小于等于1直接返回
            System.out.println(v.size());
            return;
        }
        if(v.indexOf(0) == -1 || v.indexOf(1) == -1){  //只含0或1直接返回
            System.out.println(1);
            return;
        }
        int pre = v.get(0), r = 1;    //用pre记录前一个数字
        for(int i = 1; i < v.size(); ++i){
            if(v.get(i) + pre == 1){  //当前数字与pre不同,长度加一
                r++;
                pre = 1 - pre;        //更新pre
            }
        }
        System.out.println(r);
    }
}
全部评论

相关推荐

07-02 13:52
武汉大学 golang
骗你的不露头也秒
牛客87776816...:😃查看图片
点赞 评论 收藏
分享
牛客刘北:如果暑期实习是27届的话,你要晚一年才会毕业,企业为什么会等你呢?要搞清时间逻辑呀!27届现在实习只能是在暑假实习,这是日常实习,不是暑期实习。所以多去投日常实习吧,暑期实习肯定不会要你的
点赞 评论 收藏
分享
半解316:内容充实,细节需要修改一下。 1,整体压缩为一页。所有内容顶格。 2,项目描述删除,直接写个人工作量 修改完之后还需要建议,可以私聊
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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