最长重复子串问题
求大神指点
想要把一个字符串中重复最长的部分提取出来,比如说有如下字符串:
abcdbcdbcb
对于这个字符串最长的重复子串为bcdbc!
查了下网上的解答,代码如下
但是这个代码看不懂,求大神指点
想要把一个字符串中重复最长的部分提取出来,比如说有如下字符串:
abcdbcdbcb
对于这个字符串最长的重复子串为bcdbc!
查了下网上的解答,代码如下
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXCHAR 5000 //最长处理5000个字符
char c[MAXCHAR], *a[MAXCHAR];
int comlen( char *p, char *q ){
int i = 0;
while( *p && (*p++ == *q++) )
++i;
return i;
}
int pstrcmp( const void *p1, const void *p2 ){ // 这个函数是什么意思,参数看不懂
return strcmp( *(char* const *)p1, *(char* const*)p2 );
}
int main( ){
char ch;
int n=0;
int i, temp;
int maxlen=0, maxi=0;
printf("Please input your string:\n");
while( (ch=getchar())!='\n' ){
a[n]=&c[n];
c[n++]=ch;
}
c[n]='\0';
qsort( a, n, sizeof(char*), pstrcmp ); // 这里的快速排序是对什么排序
for(i=0; i<n-1; ++i ){
temp=comlen( a[i], a[i+1] );
if( temp>maxlen ){
maxlen=temp;
maxi=i;
}
}
printf("%.*s\n",maxlen, a[maxi]);
system("PAUSE");
return 0;
}但是这个代码看不懂,求大神指点
...全文
相关推荐
Python简单实现查找一个字符串中最长不重复子串的方法
在Python编程中,查找一个字符串中最长不重复子串是一项常见的字符串处理任务。这个任务的目标是找到一个字符串中连续的子串,这个子串中的字符都不重复,且这个子串的长度是所有不重复子串中最长的。
求串中最长重复子串。
### 一、问题描述在计算机科学领域,“求串中最长重复子串”是一个常见的字符串处理问题。假设有一个字符串S,我们的任务是找出其中最长的重复子串,即在S中至少出现两次的最长连续子序列。
js代码-最长重复子串
在JavaScript编程中,"最长重复子串"是一个常见的字符串处理问题。它要求找出一个字符串中最长的连续子序列,这个子序列在原字符串中至少出现两次。
字符串中的最长重复串
在处理字符串时,经常会遇到寻找其中的特定模式或子串的问题。本问题聚焦于找出字符串中的最长重复子串及其出现位置,这是一个典型的字符串处理任务,具有较高的实用价值。
给定一个字符串,求出其最长的重复子串(腾讯2011年10月15日校招笔试)
“给定一个字符串,求出其最长的重复子串”这一问题的方法。


