【每日面试题】最大连续递增数字串
2012-03-05 17:34
881 查看
题目:求最大连续递增数字串(如“ads3sl456789DF3456ld345AA”中的“456789”)
代码如下:
void longIncrease(char* str)
{
if(str==NULL)
return ;
int len=strlen(str);
int max=0;
int n=1;
int first=0;
for(int i=0;i<len-1;i++)
{
if(str[i+1]>str[i]&&str[i]>='0'&&str[i]<='9'&&str[i+1]>='0'&&str[i+1]<='9')
{
n++;
}
else
{
if(n>max)
{
max=n;
first=i-max+1;
}
n=1;
}
}
if(n>max)
{
max=n;
first=0;
}
cout<<first<<endl;
for(int i=first;i<max+first;i++)
cout<<str[i];
cout<<endl;
}
int main()
{
char* str="ads3sl456789DF3456ld345AA";
longIncrease(str);
return 0;
}
代码如下:
void longIncrease(char* str)
{
if(str==NULL)
return ;
int len=strlen(str);
int max=0;
int n=1;
int first=0;
for(int i=0;i<len-1;i++)
{
if(str[i+1]>str[i]&&str[i]>='0'&&str[i]<='9'&&str[i+1]>='0'&&str[i+1]<='9')
{
n++;
}
else
{
if(n>max)
{
max=n;
first=i-max+1;
}
n=1;
}
}
if(n>max)
{
max=n;
first=0;
}
cout<<first<<endl;
for(int i=first;i<max+first;i++)
cout<<str[i];
cout<<endl;
}
int main()
{
char* str="ads3sl456789DF3456ld345AA";
longIncrease(str);
return 0;
}
相关文章推荐
- 面试题---求一个串中的最大连续递增数字串
- 求最大连续递增数字串
- 求最大连续递增数字串
- 求最大连续递增数字串
- 一道C语言面试题——求最大连续数字子串
- 求一个字符串s的最大连续递增数字子串
- 87 2.求最大连续递增数字串
- 求一个字符串s的最大连续递增数字子串
- 求最大连续递增数字串(如“ads3sl456789DF3456ld345AA”中的“456789”)
- 百度面试题——最大连续数字串问题
- 剑指offer 面试题41 递增数组中和为s的两个数字 | 和为s的连续整数序列
- 求最大连续递增数字串(如“ads3sl456789DF3456ld345AA”中的“456789”)
- 求最大连续递增数字串(如“ads3sl456789DF3456ld345AA”中的“456789”)
- 微软100题(87)最大连续递增数字串
- 求最大连续递增数字串(如“ads3sl456789DF3456ld345AA”中的“456789”)
- 最大连续递增数字串
- 微软:求最大连续递增数字串/时钟问题
- 求最大连续递增数字串