zoukankan      html  css  js  c++  java
  • 找到最大的迭代次数串

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


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


    #include <iostream>

    #include <stdio.h>
    using namespace std;
    int mystrlen(char *str)
    {
       int sum(0);
       char *temp=str;
       while(*temp!='')
       {
         ++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) !='')
       {
    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 ",i,j);
       i=find_max_repeat(str, "efd", &j);
       printf("%d,%d ",i,j);
       return 0;
    }

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

  • 相关阅读:
    AtCoder Grand Contest 49
    Kotlin Heroes 5: ICPC Round 题解 (A-H)
    轮盘赌随机选择算法
    洛谷P1579.验证哥德巴赫猜想(DFS+素性测试)
    洛谷P1308.统计单词数(字符串匹配)
    洛谷P1149.火柴棒等式(暴力搜索)
    洛谷P1036.选数(DFS)
    洛谷P1028.数的计算(动态规划)
    Python对list操作的一些小技巧
    图的DFS和BFS(邻接表)
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4730908.html
Copyright © 2011-2022 走看看