交错序列
来源:互联网 发布:腾讯微信数据报告 编辑:程序博客网 时间:2024/05/01 02:20
题目描述
我们定义一个由数字 0 和 1 组成的序列是交错序列,当且仅当在这个序列中 0 和 1 是轮流出现的,比如 0,010,10101都是交错序列。
现在给出了一个由数字 0 和 1 组成的序列A,它可能不是一个交错序列,但是你可以从这个序列中选择一些数字出来,按他们在序列A中原有的相对顺序排列(即选取A的一个子序列),使得最后你得到的是一个交错序列。问这样能得到的交错序列的最长长度是多少?
输入
第一行包含一个整数n,表示输入序列的长度。1 <= n <= 10^5
第二行包含n个 0 或 1,表示对应的序列。
输出
输出能够得到的最长交错序列的长度。
样例输入
Input Sample 1:
3
0 1 0
Input Sample 2:
8
1 1 0 0 1 1 0 0
样例输出
Output Sample 1:
3
Output Sample 2:
4
分析
我们要注意的是第二个输出的是 4,不要简单地选取子序列。
代码
#include <stdio.h>int main(){ int i; int n; scanf("%d", &n); int input[n]; for (i = 0; i < n; i ++) { scanf("%d", &input[i]); } int temp = input[0]; int num = 1,maxnum = 0; for (i = 1; i < n; i++) { if(input[i] != temp) { num++; temp = input[i]; } else { continue; } if (num > maxnum) { maxnum = num; } } printf("%d ", maxnum); return 0;}
阅读全文
1 0
- 交错序列
- 交错序列
- 交错序列
- 交错序列
- 交错序列
- 求交错序列前N项和
- 循环-21. 求交错序列前N项和(15)
- 循环-21. 求交错序列前N项和(15)
- 循环-21. 求交错序列前N项和(15)
- 循环-21. 求交错序列前N项和(15)
- 2-4 求交错序列前n项和
- PAT_B_循环-21. 求交错序列前N项和(15)
- 5-16 求简单交错序列前N项和 (15分)
- 求给定精度的简单交错序列部分和 / 猜数字游戏 / 求e的近似值
- 交错数组
- 交错了
- 交错数组
- 交错数组
- CodeForces-849A Odds and Ends
- LintCode算法解析(一)
- IDEA 单元测试
- Python自学笔记
- 应用解决告诉你什么时候该用ajax
- 交错序列
- understanding-jvm-internals
- redis笔记-2-java
- vyos
- 斐波那契数列
- 1008.Elevator
- OpenJudge百炼-2951&PKU-1001-浮点数高精度幂-C语言-高精度计算
- Cheat Engine游戏脚本修改器通关教程(脑残版)
- 安装anaconda及修改conda config 的channels/default_channels