题解 | #子串计算#

子串计算

https://www.nowcoder.com/practice/bcad754c91a54994be31a239996e7c11

#include<bits/stdc++.h>
using namespace std;

int main() {
    string str;
    cin >> str;

    //用有序哈希表记录字串及出现次数
    map<string, int> count;

    //遍历字符串,获取所有子串及出现次数
    for (int i = 0; i < str.length(); i++) {
        for (int j = 1; j <= str.length() - i; j++) { //j为截取长度
            string sub_str = str.substr(i, j); //用substr函数截取子串
            count[sub_str]++;
        }
    }

    for (auto iter = count.begin(); iter != count.end(); iter++) {
        if (iter->second > 1) { //若某个子串出现的次数大于1
            cout << iter->first << ' ' << iter->second << endl; //输出
        }
    }
}

全部评论

相关推荐

牛客410815733号:这是什么电影查看图片
点赞 评论 收藏
分享
11-06 10:58
已编辑
门头沟学院 嵌入式工程师
双非25想找富婆不想打工:哦,这该死的伦敦腔,我敢打赌,你简直是个天才,如果我有offer的话,我一定用offer狠狠的打在你的脸上
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务