leetcode 1044 最长重复子串 C语言

char * longestDupSubstring(char * S){
    int i=0,j=0,k=0,len=strlen(S);
    int max_new=0,max=0,max_l,max_r;
    for(;i<len-max-1;i++){
        for(j=len-1;j>i;j--){
            max_new=0;
            for(k=0;j+k<len&&S[i+k]==S[j+k];k++){
                max_new++;
            }
            if(max_new>max){
                max=max_new;
                max_l=i;
                max_r=j;
            }
        }
    }
    char *res = (char*)malloc(max+1);
    *(res+max)='\0';
    strncpy(res,S+max_l,max);
    return res;
}

时间超出限制,没通过

猜你喜欢

转载自blog.csdn.net/weixin_38812277/article/details/92182930