感觉都是直接遍历都能解出来。 字符串那个两层遍历,第一层是下标从0到最后,第二层是字符串长度从1到size / 2; 然后比较字串的子串是否相等,把相等的字串放到set中。最后打印set的size就行了 string str; unordered_set<string> strSet; cin >> str; for(int pos = 0; pos < str.size(); ++pos) for(int len = 1; len <= str.size() / 2; ++len) { if(str.substr(pos, len) == str.substr(pos + len, len)) { strSet.insert(str.substr(pos, len)); } } cout << strSet.size() << endl;
点赞 评论

相关推荐

喜欢喜欢喜欢:这是我见过最长最臭的简历
点赞 评论 收藏
分享
牛客网
牛客企业服务