2017-8-31美团笔试交错序列

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sca = new Scanner(System.in );
		int len = sca.nextInt();
		int[] a = new int[len];
		for(int i =0; i<len;i++){
			a[i] = sca.nextInt();
		}
		int sum =1;
		int[] temp = new int[len];
		for(int i=0;i<len;i++) {
			temp[i] = 1;
		}
		for(int i =1; i<len;i++){
			int j =i-1;
			while(j>=0 && a[i]==a[j]) --j;
			if(j>=0) {
				temp[i]+=temp[j];
			}
			
		}
		int max = 1;
		for(int i=0;i<len;++i) {
				max = Math.max(max,temp[i]);
		}
		System.out.println(max);
	}
}

全部评论
前端也碰到了。。
点赞 回复 分享
发布于 2017-09-01 13:58
这是动态规划的题,每一位都维护两个标志,一个是到本位为止以0为结尾的交替数列的最大长度,和以1结尾的交替数列的最大长度。
点赞 回复 分享
发布于 2017-09-01 13:57
这道题是不是可以简单来算:最长子串的首字母应该是和输入子串的首字母相同(除非有一个同样长度的0开头子串),那么接下来遍历字符串,交错的判断就可以了。 int length = 1; int curNum = p[0]; for (int i = 1; i < p.length; i++) { if (p[i]!=curNum) { length++; curNum = p[i]; } }
点赞 回复 分享
发布于 2017-08-31 23:27
我还以为就我一个人是做的这个题!哈哈哈哈…原来你也是这个…
点赞 回复 分享
发布于 2017-08-31 23:17
什么岗位  后台岗位不是没碰到这个
点赞 回复 分享
发布于 2017-08-31 22:57

相关推荐

06-27 18:53
门头沟学院 Java
这样才知道自己不适合搞代码,考公去咯
只爱喝白开水:我也发现不适合搞代码,打算转非技术方向了
点赞 评论 收藏
分享
05-12 17:00
门头沟学院 Java
king122:你的项目描述至少要分点呀,要实习的话,你的描述可以使用什么技术,实现了什么难点,达成了哪些数字指标,这个数字指标尽量是真实的,这样面试应该会多很多,就这样自己包装一下,包装不好可以找我,我有几个大厂最近做过的实习项目也可以包装一下
点赞 评论 收藏
分享
牛客38347925...:9,2学生暑期实习失利开始投小厂,给这群人整自信了
点赞 评论 收藏
分享
ohs的小木屋:比不少实习待遇高了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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