zoukankan      html  css  js  c++  java
  • 每天一道算法题(25)——字符串中连续出现次数最多的子串

    #include"iostream"
    #include"string"
    using namespace std;
    
    
    pair<string,int> fun(const string& str);
    int _tmain(int argc, _TCHAR* argv[])
    {
    	string str="abcbcbcabc";
    	pair<string,int> p=fun(str);
    	cout<<p.first<<": "<<p.second<<endl;
    	return 0;
    }
    
    pair<string,int> fun(const string& str){
    	if(str.empty())
    		return make_pair("a",0);
    
        int count,max=0;
    	string substr,st;
    	for(int i=str.length();i>=1;i--)
    		for(int j=0;j<str.length()-i+1;j++){
    			count=0;
    			st=str.substr(j,i);
    			for(int k=0;k<str.length()-i+1;k++)
    				if(!st.compare(str.substr(k,i)))
    					count++;
    			if(count>max){
    				max=count;
    				substr=st;
    			}
          }
    	return make_pair(substr,max);
    }


        注意: pair的使用,元素调用为first和second



  • 相关阅读:
    attr与prop
    Django框架学习
    库的操作
    javascript 基础知识
    进程
    正则表达式
    模块( collections , time , random , os , sys)
    内置函数
    生成器
    迭代器
  • 原文地址:https://www.cnblogs.com/engineerLF/p/5393001.html
Copyright © 2011-2022 走看看