【做题记录】[牛客网]网易2018校招内推编程题集合:第三题-交错01串
2018-03-27 05:51
495 查看
网易2018校招内推编程题集合
[编程题] 交错01串题目大概是:输入111001010111这样的字符串,要找出最大01交替的子串,输出长度。
做题思路:从第一个01翻转开始,count_t++,①直接结束,则在循环后记录count=count_t;②到01不再翻转,然后结束;③后面还有另一个01字符串,可能更长或更短,则01不翻转时如果count<count_t则count=count_t,然后让count_t=1。
注意:三种情况啊三种情况,最容易遗漏第①种!因为我的循环设置问题,count没有办法在循环里保存count_t的值。
语言:C语言#include<stdio.h>
#include<string.h>
int main(int argv,char* argc[])
{
char s[51];
scanf("%s",s);
int i;
int flag=0;
int count=1,count_t=1;
for(i=0;i<strlen(s)-1;i++)
{
if(s[i]!=s[i+1])
count_t++;
else
{
if(count<count_t)
count=count_t;
count_t=1;
}
}
if(count<count_t)
count=count_t;
printf("%d",count);
return 0;
}
[编程题] 交错01串题目大概是:输入111001010111这样的字符串,要找出最大01交替的子串,输出长度。
做题思路:从第一个01翻转开始,count_t++,①直接结束,则在循环后记录count=count_t;②到01不再翻转,然后结束;③后面还有另一个01字符串,可能更长或更短,则01不翻转时如果count<count_t则count=count_t,然后让count_t=1。
注意:三种情况啊三种情况,最容易遗漏第①种!因为我的循环设置问题,count没有办法在循环里保存count_t的值。
语言:C语言#include<stdio.h>
#include<string.h>
int main(int argv,char* argc[])
{
char s[51];
scanf("%s",s);
int i;
int flag=0;
int count=1,count_t=1;
for(i=0;i<strlen(s)-1;i++)
{
if(s[i]!=s[i+1])
count_t++;
else
{
if(count<count_t)
count=count_t;
count_t=1;
}
}
if(count<count_t)
count=count_t;
printf("%d",count);
return 0;
}
相关文章推荐
- 【做题记录】[牛客网]网易2018校招内推编程题集合:第一题-彩色的砖块排列
- 【做题记录】[牛客网]网易2018校招内推编程题集合:第二题-等差数列
- 网易2018校招内推编程题集合:交错01串 [python]
- 2018网易校招编程题(3)交错01串
- 网易2018校招内推编程题集合:等差数列 [python]
- 交错01串-网易2018校招内推
- 网易2018校招内推编程题集合:堆棋子 [python]
- 网易2018校招内推编程题集合:小易喜欢的数列 [python]
- 网易2018校招内推编程题集合:疯狂队列 [python]
- 网易2018校招编程题集合7
- 网易2018校招内推编程题集合:独立的小易 [python]
- 网易2018校招内推编程题集合
- 网易2018校招编程题集合4
- 网易2018校招编程题集合
- 网易2018校招内推笔试-交错01串
- 网易2018校招编程题集合3
- 网易2018校招编程题集合4
- 网易2018校招编程题集合8
- 牛客网-网易2018校招内推编程题集合-解题思路及源码
- 网易2018校招编程题集合5