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;
    }

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

  • 相关阅读:
    面向对象-类与实例化对象
    面向对象-面向对象与面向过程优缺点
    pyCharn文件模板变量
    安装pycrypto以及报错处理
    文件-读、写、追加已经文件操作
    文件-读取与编码检测
    运算-三元运算
    三方工具-sqlacodegen
    函数-生成器之斐波拉契数列
    python内存-fromkeys
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4730908.html
Copyright © 2011-2022 走看看