求最大连续递增数字串(如“ads3sl456789DF3456ld345AA”中的“456789”)
2012-08-02 17:31
309 查看
求最大连续递增数字串(如“ads3sl456789DF3456ld345AA”中的“456789”)
void findx(char *str)
{
int i , j, m,k ,tmp,start,end,count[100] ,count_1[100] ,count_2[100];
i =0;
k = 0;
while(str[i] != '\0')
{
if((str[i]>='0')&&(str[i]<='9'))
{
m = i;
while((str[m]>='0')&&(str[m]<='9')&&(str[m+1]>='0')&&(str[m+1]<='9')&&(str[m+1] > str[m]))
{
m++;
}
count[k] = m-i;
count_1[k] = i;
count_2[k] = m;
k++;
}
i++;
}
for(i = 0;i<k-1 ;i++)
{
if(count[i+1]<count[i] )
{
tmp = count[i];
count[i] = count[i+1];
count[i+1] = tmp;
}
}
for(i = 0 ;i<k ;i++)
{
if(count[k-1] == (count_2[i] - count_1[i]))
{
start = count_1[i];
end = count_2[i];
}
}
for(i = start ;i<=end ; i++)
{
cout<<str[i]<<endl;
}
}
void main()
{
char *str="ab12c34567def78";
findx(str);
}
void findx(char *str)
{
int i , j, m,k ,tmp,start,end,count[100] ,count_1[100] ,count_2[100];
i =0;
k = 0;
while(str[i] != '\0')
{
if((str[i]>='0')&&(str[i]<='9'))
{
m = i;
while((str[m]>='0')&&(str[m]<='9')&&(str[m+1]>='0')&&(str[m+1]<='9')&&(str[m+1] > str[m]))
{
m++;
}
count[k] = m-i;
count_1[k] = i;
count_2[k] = m;
k++;
}
i++;
}
for(i = 0;i<k-1 ;i++)
{
if(count[i+1]<count[i] )
{
tmp = count[i];
count[i] = count[i+1];
count[i+1] = tmp;
}
}
for(i = 0 ;i<k ;i++)
{
if(count[k-1] == (count_2[i] - count_1[i]))
{
start = count_1[i];
end = count_2[i];
}
}
for(i = start ;i<=end ; i++)
{
cout<<str[i]<<endl;
}
}
void main()
{
char *str="ab12c34567def78";
findx(str);
}
相关文章推荐
- 求最大连续递增数字串(如“ads3sl456789DF3456ld345AA”中的“456789”)
- 求最大连续递增数字串(如“ads3sl456789DF3456ld345AA”中的“456789”)
- 求最大连续递增数字串(如“ads3sl456789DF3456ld345AA”中的“456789”)
- 求一个字符串s的最大连续递增数字子串
- 求最大连续递增数字串
- 求最大连续递增数字串
- 求最大连续递增数字串
- 【每日面试题】最大连续递增数字串
- 求一个字符串s的最大连续递增数字子串
- 最大连续递增数字串
- 87 2.求最大连续递增数字串
- 微软:求最大连续递增数字串/时钟问题
- 求最大连续递增数字串
- 微软100题(87)最大连续递增数字串
- 面试题---求一个串中的最大连续递增数字串
- 最大连续递增数字串
- 求一串数字中——和最大的连续子序列; 求一串数字差值的绝对值最小的两个数字
- 递增数列中和为s的两个数字,和为s的连续正数序列
- 找出一串数字中,n个连续的数之和最大c++代码实例及运行结果
- hdu3308 线段树 求最大连续递增序列