题解 | #子串计算#

子串计算

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; //输出
        }
    }
}

全部评论

相关推荐

铁锈不腻玩家:下面那个袁先生删了,问他怎么回事,头像都换不明白
点赞 评论 收藏
分享
如题,问一下各位佬,腾讯云最近约面,想知道和云智一样吗?
贺兰星辰:你看看你面试邀约是腾讯发的还是腾讯云智发的就行,云智的面试邀约是 MokaHR 发的,腾讯就还是腾讯那套自己的系统
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务