读书人

求一算法,找出一个长句的最长字符串的

发布时间: 2012-03-07 09:13:51 作者: rapoo

求一算法,找出一个长句的最长字符串的长度
比如
i am a student

长度应该是student的长度,要求效率最高,谢谢

[解决办法]
就遍历长句,每找到一个单词就记录长度如果大于当前最大的长度就替换掉它.
复杂度只是strlen(str).这还不够高效吗。
[解决办法]
设置一个计数值,例如为count,然后从前往后查找句子中的特殊字符,包括空格和逗号,句号

这些。每遇到一个,就比较一下count的值是否为最大,然后清零,继续记录。这样的效率是最

小的,只是线性的增长。
[解决办法]
#include <stdio.h>
main()
{
int i=0,j=0;
char ch;
while(ch=getchar())
{
if(ch!= ' '&&ch!= '\n ')
i++;
if(ch== ' '&&i> j)
{
j=i;
i=0;
}
if(ch== '\n ')
{
if(i> j)
j=i;
break;
}
}

printf( "%d ",j);
ch=getchar();
}
可以试试

读书人网 >C++

热点推荐