周期串问题(一)
【摘要】 题目:
题目一[周期串问题]
如果一个字符串可以由某个长度为k的字符串重复多次得到,我们说该串以k为周期。例如,abcabcabcabc以3为周期(注意,它也可以6和12为周期,结果取最小周期3)
代码如下:
#include <iostream>#include <string>using namespace ...
题目:
题目一[周期串问题]
如果一个字符串可以由某个长度为k的字符串重复多次得到,我们说该串以k为周期。例如,abcabcabcabc以3为周期(注意,它也可以6和12为周期,结果取最小周期3)
代码如下:
-
#include <iostream>
-
#include <string>
-
using namespace std;
-
-
int GetMinPeriod(char *inputstring)
-
{
-
if(inputstring == NULL)
-
{
-
return -1;
-
}
-
int size = strlen(inputstring);
-
int maxPeriod = size / 2;
-
bool isSucess = true;
-
for(int i = 1;i <= maxPeriod;++i)
-
{
-
isSucess = true;
-
for(int j = 0;j < i;++j)
-
{
-
for(int k = i+j;k < size;k+=i)
-
{
-
if(inputstring[j] != inputstring[k])
-
{
-
isSucess = false;
-
break;
-
}//if
-
}//for
-
if(isSucess == false)
-
{
-
文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。
原文链接:chenyu.blog.csdn.net/article/details/52167184
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)