每天小练笔1-周期串问题
来源:互联网 发布:新东方 邓剑波 知乎 编辑:程序博客网 时间:2024/05/02 01:39
这个系列的题目都是来源于网络,然后自己写代码,可能不是最佳方法,网上有好的算法我也会给出链接。
题目一[周期串问题]
如果一个字符串可以由某个长度为k的字符串重复多次得到,我们说该串以k为周期。例如,abcabcabcabc以3为周期(注意,它也可以6和12为周期,结果取最小周期3)。字符串的长度小于等于100,由调用者保证。
接口说明
原型:
int GetMinPeriod(char *inputstring);
输入参数:
char * inputstring:字符串
返回值:
int 字符串最小周期
可以想到三个循环
代码
#include <iostream>using namespace std;int GetMinPeriod(char *inputstring);int main(){ char * str="abceabcdabceabcd"; cout<<GetMinPeriod(str);}int GetMinPeriod(char *inputstring){ int i,j,k; int size = strlen(inputstring); int halfsize = size/2; char * a = inputstring; bool okflag = true; for(i=1;i<=halfsize;++i) //i is the second string head char { okflag = true; for(j=0;j<i;++j) { for(k=i+j;k<size;k+=i) { if(a[j] != a[k]) { okflag = false; break; } } if(okflag == false) break; } if(okflag) break; } return i;}
0 0
- 每天小练笔1-周期串问题
- 每天小练笔2-大数求和
- 每天小练笔3-简单密码
- 每天小练笔4-整数排序操作
- 每天小练笔5-删除重复字符
- 每天小练笔6-空瓶换饮料
- 每天小练笔7-坐标变换
- 每天小练笔8-模拟进程调度
- 每天小练笔9-数字基(递归应用)
- 每天小练笔10-小和尚挑水(回溯法)
- C++练笔例子1
- 周期串问题
- 周期串问题- --转载
- 周期串问题
- 周期串问题
- 周期串问题
- 周期串问题
- 周期串问题
- GCC编译器和GDB调试器常用选项
- 判断一点是否在三角形的外接圆内
- 高斯函数的傅里叶变换
- 第一关
- 【Dubbo之基本配置和运行(1)】zookeeper安装
- 每天小练笔1-周期串问题
- 数据结构作业
- MapReduce on HBase使用与集成
- linux中打开大文件的问题(大于4G)
- 尾递归
- shell实现的进度条
- ThinkPHP 5.数据库基本操作
- 面试
- Android学习参考链接收藏