求助,浪潮的C++编程题

01序列交替序列问题

输入一个只含有0和1的序列,翻转某个连续范围的序列,求最大的01交替子序列;

注:翻转是指:0变成1;1变成0;
01交替子序列 可以不连续;比如0101001的(没有翻转的)最大交替子序列是 010101,长度为6 
翻转以后的最大交替子序列是0101010,长度为7

例:
输入:010001001
输出:8
求大佬的思路;


#浪潮2021提前批##浪潮##笔试题目#
全部评论
int MaxSubLength(string&str){     int len=str.length();     int res=0;     if(str[1]!=str[0])         ++res;     for(int i=1;i<len-1;++i){         if(str[i]!=str[i-1]||str[i]!=str[i+1]){             ++res;             cout<<str[i]<<endl;         }     }     if(str[len-1]!=str[len-2])         ++res;     return res; }
点赞 回复 分享
发布于 2020-07-08 21:06
浪潮不面也罢
点赞 回复 分享
发布于 2020-07-08 18:13
老哥,这道题是要求“交替序列”还是“交替子序列”?需要连续吗?
点赞 回复 分享
发布于 2020-07-08 18:00
自己苦思冥想,给直接输出了一个5 ,通过了45%的测试用例😂。 下面是我后来想法,不知道对不对;
点赞 回复 分享
发布于 2020-07-08 17:13

相关推荐

点赞 评论 收藏
分享
求offer的大角牛:不吃香菜
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 13:35
虽然不怎么光彩,经过这件事,可能我真的要去认同“面试八股文早该淘汰!不会用AI作弊的程序员=新时代文盲!”这句话了
HellowordX:Ai的出现是解放劳动力的,不是用来破坏公平竞争环境的,这样下去,轻则取消所有线上面试,严重了会影响整个行业对所有人产生影响,企业会拉高入职考核各种离谱考核会层出不穷
你找工作的时候用AI吗?
点赞 评论 收藏
分享
评论
1
4
分享

创作者周榜

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