找到最大的迭代次数串

it2025-08-05  23

找到最大的迭代次数串。参考迭代万亿最大数目,找到核心人物,我们可以扩展,找到最大的迭代次数串。

基本思想是把反复次数最大记录下来。并记录起始位置。

#include <iostream>

#include <stdio.h> using namespace std; int mystrlen(char *str) {    int sum(0);    char *temp=str;    while(*temp!='\0')    {      ++temp;++sum;    }    return sum; } bool contain_sub_str(char *str, char *sub_str) {    int len1= mystrlen(str);    int len2= mystrlen(sub_str);    int i(0);    if(len1<len2)  return false;    while(i<len2)    {      if( *(str+i)!= *(sub_str+i))break;++i;    }    if(i==len2)       return true;    return false; } int find_max_repeat(char *str, char *sub_str, int *len) {    int i(0);    int num(0),start(0),len2(mystrlen(sub_str));    while(*(str+i) !='\0')    {if(contain_sub_str(str+i, sub_str)){ int s=i,k=0;       while(contain_sub_str(str+i, sub_str)) {   i+=len2;   ++k; } if(k>num){    num=k;          start=s; }}else         ++i;    }    *len=num;    return start; } int main() {    char str[]="abaabaaacdeeabaabaabaabaeefdefdefdefdsceebd";    int i,j;    i=find_max_repeat(str, "aba", &j);    printf("%d,%d\n",i,j);    i=find_max_repeat(str, "efd", &j);    printf("%d,%d\n",i,j);    return 0; }

版权声明:本文博客原创文章,博客,未经同意,不得转载。

转载于:https://www.cnblogs.com/bhlsheji/p/4730908.html

相关资源:数据结构—成绩单生成器
最新回复(0)