最大的相同字符子串
来源:互联网 发布:java接口可以多继承吗 编辑:程序博客网 时间:2024/05/04 18:38
请编写一个 C 函数,该函数在一个字符串中找到可能最长子字符串,该字符串是由同一字符组成的。
【感谢网友的指正,让俺能及时发现自己考虑问题的不当之处。】
下面是完整源代码:
【经网友指正,这是一种错误的算法,后面将会帖出修改后的程序。】
void StrSame(char * ch)
{
int TempCH[26];
int i,MaxLen =1,local;
for(i=0;i<26;i++)
TempCH[i] = 200;
while(*ch != '/0')
{
if(*ch == *(ch+1) || *ch == *(ch-1))
{
if(TempCH[*ch-0x61] == 200)
TempCH[*ch-0x61] = 1;
else
TempCH[*ch-0x61]++;
}
ch++;
}
for(i=0;i<25;i++)
{
if(TempCH[i] != 200 && TempCH[i+1] != 200)
{
if(TempCH[i]>TempCH[i+1])
{
if(MaxLen < TempCH[i])
{
MaxLen = TempCH[i];
local = i;
}
}
else
{
if(MaxLen < TempCH[i+1])
{
MaxLen = TempCH[i+1];
local = i+1;
}
}
}
}
printf("Character = %c/tNumber = %d/n",local+0x61,MaxLen);
}
main()
{
StrSame("abcdddaaaaabbbeefffda");
}
【修改后的程序】
void StrSame(char * ch)
{
int TempCH[26];
int i,MaxLen =1,local,count=0;
for(i=0;i<26;i++)
TempCH[i] = 200;
while(*ch != '/0')
{
if(*ch == *(ch+1) || *ch == *(ch-1))
{
count++;
if(*ch != *(ch+1))
{
if( (TempCH[*ch-0x61] == 200) || count > TempCH[*ch-0x61])
TempCH[*ch-0x61] = count;
count = 0;
}
}
ch++;
}
for(i=0;i<25;i++)
{
if(TempCH[i] != 200 && TempCH[i+1] != 200)
{
if(TempCH[i]>TempCH[i+1])
{
if(MaxLen < TempCH[i])
{
MaxLen = TempCH[i];
local = i;
}
}
else
{
if(MaxLen < TempCH[i+1])
{
MaxLen = TempCH[i+1];
local = i+1;
}
}
}
}
printf("Character = %c/tNumber = %d/n",local+0x61,MaxLen);
}
main()
{
StrSame("abcdddaaaaabbbeefffda");
StrSame("aabcdddaaaaabbbeefffda");
StrSame("aaaaaabcdddaaaaabbbeefffda");
StrSame("aaabcdddaaaaabbbeefffdaaaaaa");
StrSame("aaabcdddaaaaabbbeefffdaaaaaab");
system("pause");
}
【如还有啥问题,欢迎您能指正,共同促进,共同进步,谢谢!】
- 最大的相同字符子串
- 获取最大相同子串
- 查找两个字符串的最大相同子串
- 两个字符串中最大相同的子串
- java/C++取两个字符串的最大相同子串
- 获取两个字符串中最大的相同子串
- [Java]取得两个字符串的最大相同子串
- 两个字符串中最大相同的子串
- 获取两个字符串中最大相同子串的实现
- 求两字符串的最大相同子串--JAVA实现
- 比较两个字符串,找出最大的相同子串
- 求两个字符串的最大相同子串
- 获取两个字符串的最大相同子串
- 求任意两个字符串的最大相同子串
- java练习获取两个字符串的最大相同子串
- 求n个字符串的最大相同子串
- java基础-找出两个字符串相同的最大子串
- 找出两个字符的最大子串
- AJAX简述
- Tomcat 5.0.28 MySQL 5 连接池的建立
- 从myspace转移完毕
- [07-20] 带毒网站www.china***huati.com(第3版)
- IIS时间格式
- 最大的相同字符子串
- “Spring轮子血案”续集1-“回应”与“反回应”
- prototype.js开发笔记(3)
- 工作生活中常用软件集锦
- 关于j2ee的兼容性
- 郑州美食全攻略
- 互联网史上最强陷害手段新鲜出炉
- 2006年高考作文爆笑集锦
- 变不了天鹅的丑小鸭