判断重复字符串
来源:互联网 发布:菜鸟网络会员干什么的 编辑:程序博客网 时间:2024/06/10 19:52
#include<iostream>
#include<string>
#include<set>
#include<algorithm>
#include<vector>
#include<unordered_map>
using namespace std;
class solution
{
public:
bool check(string s)
{
unordered_map<char,vector<int>> map_a;
for (int i = 0; i < s.size(); i++)
{
map_a[s[i]].push_back(i);
}
vector<int> locs_a = map_a[s[0]];
for (int i = 0; i < locs_a.size()-1; i++)
{
int flag = 1;
string holder=s.substr(locs_a[0], locs_a[i + 1]);
if (holder == s)
return false;
if (s.size() % holder.size() != 0)
{
continue;
}
else
{
for (size_t j = 0; j <= s.size(); j = j + holder.size())
{
if (holder != s.substr(j, j + holder.size()))
{
flag = 0;
break;
}
}
if (flag==1)
return true;
}
}
}
};
int main()
{
string str;
cin >> str;
bool re;
solution s;
re=s.check(str);
if (re == true)
cout << "ok";
else
cout << "false";
return 0;
}
#include<string>
#include<set>
#include<algorithm>
#include<vector>
#include<unordered_map>
using namespace std;
class solution
{
public:
bool check(string s)
{
unordered_map<char,vector<int>> map_a;
for (int i = 0; i < s.size(); i++)
{
map_a[s[i]].push_back(i);
}
vector<int> locs_a = map_a[s[0]];
for (int i = 0; i < locs_a.size()-1; i++)
{
int flag = 1;
string holder=s.substr(locs_a[0], locs_a[i + 1]);
if (holder == s)
return false;
if (s.size() % holder.size() != 0)
{
continue;
}
else
{
for (size_t j = 0; j <= s.size(); j = j + holder.size())
{
if (holder != s.substr(j, j + holder.size()))
{
flag = 0;
break;
}
}
if (flag==1)
return true;
}
}
}
};
int main()
{
string str;
cin >> str;
bool re;
solution s;
re=s.check(str);
if (re == true)
cout << "ok";
else
cout << "false";
return 0;
}
阅读全文
0 0
- 判断重复字符串
- 判断字符串有重复字符
- 如何判断字符串重复出现个数
- 判断字符串中是否有重复字符
- 正则判断字符串包含重复字符
- 1.1-判断字符串是否有重复字符
- 如何判断字符串是否包含重复字符
- 题目:判断字符串是否没有重复字符
- LintCode-判断字符串是否没有重复字符
- 判断字符串是否没有重复字符
- LintCode_157_判断字符串是否没有重复字符
- 判断字符串是否没有重复字符
- 判断字符串是否没有重复字符
- 判断字符串是否没有重复字符
- 【Lintcode】判断字符串是否没有重复字符
- 判断字符串中是否有重复字母
- 判断字符串是否没有重复字符
- 判断字符串是否没有重复字符(容易)
- 基于docker的webrtc开发环境
- springboot静态处理
- 动态规划求解0-1背包问题
- hessian集成spring注解实现
- atomic 包(一)
- 判断重复字符串
- HTML5基本布局
- 神经网络编程1
- maven 镜像 一直下载 .lastUpdated
- iOS GCD
- SVG,Vector(一)
- 34
- 1.交换两值内容 2.不创建临时变量交换两值内容 3.求十个数中的最大值 4.将三个数由大到小输出 5.求两个数最大公约数
- 关于html 的a标签的target="__blank ",出现的问题