题解 | #子串计算#
子串计算
https://www.nowcoder.com/practice/bcad754c91a54994be31a239996e7c11
#include <iostream> #include <cstring> #include <map> using namespace std; int main() { string str; cin>>str; map<string,int> m; for(int i=0;i<str.size();i++){ for(int j=1;j<=str.size()-i;j++){ m[str.substr(i,j)]++;//获取字符串中从第i位开始的长度为j的字符串 } } //map由红黑树实现,自动按照key值从小到大排序 map<string,int>:: iterator it=m.begin(); for(it=m.begin();it!=m.end();it++){ if(it->second>1){ cout<<it->first<<" "<<it->second<<endl; } } return 0; }