一个算法,找出一串中重复的最长的子串数,比如.............

zyw2007 2008-04-01 10:13:17
一个算法,找出一串中重复的最长的子串数,比如123zxcvbnmgfryuyrh34756734zxcvbnm,满足条件的是zxcvbnm重复两次,我想的是用穷举,满足条件的存进一2维数组sss,但有问题,大下帮忙看看,我的分没多少
char str[12]="123zxcvbnmgfryuyrh34756734zxcvbnm";
char sss[9][9];
bool tr = false;
int count=0;
for(int ii=0;ii<12;ii++)
{

for(int jj=ii+1;jj<12;jj++)
{
if(str[ii] == str[jj])
{

sss[ii][jj] = str[jj];
ii++;
count++;
tr = true;
}
else
{
if(tr == true)
{
ii=ii-count;;
jj=jj-count;
count=0;
tr=false;
}

}

}
}
...全文
341 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuikexiaoqiao 2008-04-02
  • 打赏
  • 举报
回复
怎么没见你的存入操作啊
zyw2007 2008-04-02
  • 打赏
  • 举报
回复
是比较字符啊,然后才判断有无重复子串
shuikexiaoqiao 2008-04-02
  • 打赏
  • 举报
回复
if(str[ii] == str[jj])你比较的仅仅是两个字符而不是字符串
如str[1]仅仅是指的'1'
zyw2007 2008-04-02
  • 打赏
  • 举报
回复
不好意思,size没改过来,应该是34
char str[34]="123zxcvbnmgfryuyrh34756734zxcvbnm";
char sss[34][34];
bool tr = false;
int count=0;
for(int ii=0;ii<12;ii++)
{

for(int jj=ii+1;jj<12;jj++)
{
if(str[ii] == str[jj])
{

sss[ii][jj] = str[jj];
ii++;
count++;
tr = true;
}
else
{
if(tr == true)
{
ii=ii-count;;
jj=jj-count;
count=0;
tr=false;
}

}

}
}
zyw2007 2008-04-02
  • 打赏
  • 举报
回复
感谢各位的热心回答
chenzhp 2008-04-02
  • 打赏
  • 举报
回复
#include "stdafx.h"
#include "string.h"
#include "malloc.h"


int main()
{
int i,j,k,t;
int max = 0;
char *p = NULL;
char str[42] = "2xtzuaojy5678zuaojy908pzuaojy417zuaojy356";
char temp[8];
char result[8];
memset(result,0,8);

p = str;
for(i=0;i <42;i++)
{
for(j=i+1;j <42;j++)
{
if(*(p+i)== *(p+j))
{
t = i;
k = 0;
memset(temp,0,8);
//只要找到了相同的首字符,就开始比较到没有相同的位置,记录当前字符串,看是否是最长的
while(*(p+t)== *(p+j))
{
temp[k] = *(p+t);//不断比较后续的字符
t++;
j++;
k++;
}
if(k > max)//将最长的字符串赋值给result
{
max = strlen(temp);
strcpy(result,temp);
}

}

}

}
//打印出结果在上述字符串中最长的是 "zuaojy"
printf("重复字符串最长的是 %s,长度为 %d \n",result,max);
return 0;
}
ryfdizuo 2008-04-01
  • 打赏
  • 举报
回复
数组的size怎么是12 ??
Supper_Jerry 2008-04-01
  • 打赏
  • 举报
回复
char str[12]="123zxcvbnmgfryuyrh34756734zxcvbnm";
上来就有问题哦

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧