题解 | #子串计算#

子串计算

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

//土尔逊Torson 编写于2023/06/13
#include <iostream>
#include <cstdio>
#include <string>
#include <map>

using namespace std;

int main() {
	string str;
	while (cin >> str) {
		map<string, int> number;
		for (int i = 0; i <= str.size(); ++i) {
			for (int j = 0; j < i; ++j) {
				string key = str.substr(j, i - j);  //每个子串
				number[key]++;                      //映射值加1
			}
		}
		map<string, int>::iterator it;              //定义迭代器
		for (it = number.begin(); it != number.end(); ++it) {
			if (1 < it->second) {
				cout << it->first << " " << it->second << endl;
			}
		}
	}
	system("pause");
	return EXIT_SUCCESS;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

07-17 11:50
门头沟学院 Java
投递腾讯等公司10个岗位
点赞 评论 收藏
分享
零OFFER战士:另一个版本查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务