如果一个字符串可以由某个长度为k的字符串重复多次得到,则该串以k为周期。例如,abcabcabcabc以3为周期(注意,它也以6和12为周期)。输入一个长度不超过80的串,输出它的最小周期。

样例输入:HoHoHo

样例输出:2

思路:假设输入的字符串是in[],遍历所有可能的周期i,那么序列中的所有数j都会满足 in[j]==in[j%i],如果不满足的话跳出循环,如满足的话打印跳出,这个时候就能保证是最小周期串.

java实现的代码为:

package ch02;

import java.util.Scanner;

public class StringTimes {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner scanner = new Scanner(System.in);

String input = null;

while((input = scanner.next()) != null){

getTime(input);

};

}

public static void getTime(String input){

int len = input.length();

char[] word = input.toCharArray();

for(int i = 1; i <= len;i++){

if(len % i == 0){

int ok = 1;

for(int j = 1;j < len ;j++){

if(word[j] != word[j % i]){

ok = 0;

break;

}

}

if(ok == 1){

System.out.print(i);

break;

}

}

}

}

}

周期串java_求最小周期串相关推荐

  1. 最小表示串 学习【最小表示串 学习(粗)】

    问题 对于一个字符串S,求S的循环的同构字符串S'中字典序最小的一个. 八卦 最小表示法是由IOI2003年冬令营的周源提出来的 周源是 2009年4月21日,第33届ACM国际大学生程序设计竞赛总决 ...

  2. ACM学习历程23——最小周期串问题

    最小周期串问题属于字符串操作的基本题型之一,要求给定一个字符串找出其中最小的周期长度和最小周期子串.对于周期串的定义如下:如果一个字符串是以一个或者一个以上的长度为K的重复字符串连接成的,那么这个字符 ...

  3. C++算法9:KMP应用求字符串最小周期

    1.输入重复序列的字符串,如果周期不存在,输出NO,如果周期存在,输出最小周期. 2.代码: # include <iostream> # include <string>us ...

  4. 字符串最小周期串问题

    问题描述: 如果一个字符串可以由某个长度为n的字符串重复多次得到,则该串以n为周期.例如,abcabcabcabc以3为周期(注意,它也以6和12为周期). 输入一个长度不超过100的串,输出它的最小 ...

  5. kmp求最小循环节及最小循环周期

    只列出求最小循环节部分 for(int i=1;i<=n;i++){int temp=i-next[i];if(i%temp==0 && i/temp>1)printf(& ...

  6. 周期(KMP找最小循环节)

    Description: 一个字符串的前缀是从第一个字符开始的连续若干个字符,例如"abaab"共有5个前缀,分别是a, ab, aba, abaa, abaab. 我们希望知道一 ...

  7. 周期字符串的最小周期

    题目描述 右右喜欢听故事,但是右右的妈妈总是讲一些"从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事,讲的什么呢?从前有座山--"这样循环的故事来搪塞右右. 我们定义,如果一个 ...

  8. usaco Calf Flac(O(n)时间求回文串长度)

    好高兴,为数不多的我没看题解的题·,我用的是O(n)时间求回文串长度的算法算法在我上一篇博客. 然后就是注意细节了. /* ID:jinbo wu TASK: calfflac LANG:C++ */ ...

  9. 对tf.reduce_mean API的理解就是求平均值,reduce指的是一串数据求平均值后维数降低了,可不是吗,一串向量变成了一个数,维数自然降低了

    tf.math.reduce_mean(input_tensor, axis=None, keepdims=False, name=None ) 对tf.reduce_mean的理解就是求平均值,re ...

最新文章

  1. 算法------二叉树的层序遍历
  2. WIN server 2003 下无法安装adobe cs3 终极解决方法。
  3. 天龙八部3d最新服务器,天龙八部3DIOS正版服务器整合互通公告
  4. Python之自动单元测试之一(unittest使用实例)
  5. JS-WEB-API(存储)
  6. jena dataset 增删改查
  7. position:relative 与 position:absolute
  8. 『操作系统』 进程的描述与控制 Part 1 前驱图与程序执行
  9. xtext_使用Xtext为Eclipse和IntelliJ开发DSL
  10. 接口XMPPConnection
  11. Alpha Fold 2
  12. dubbo之Serialization
  13. 基于Matlab的机器人学建模学习资料大整理
  14. C++/Python PAT乙级1051 复数乘法 (15分)
  15. 第十五周作业——ZJM与纸条
  16. [bowtie2, libtbb.so.2]error while loading shared libraries: libtbb.so.2: cannot open shared object
  17. 【python】创意二维码那么多,咋不的掺和一下整一手~
  18. 漏电检测系统客户端上位机设计
  19. Java调用MySQL并返回数据_Java调用MySQL存储过程并获得返回值的方法
  20. Python学习:线程池原理及实现

热门文章

  1. JAVA计算应缴住房基金,事业单位的住房基金如何核算?
  2. python采用函数式编程模式吗_Python函数与函数式编程
  3. Linux下使用stat命令所显示出来的三个时间
  4. Selenium3自动化测试——4. 获取百度备案信息
  5. 计算机名字更改时不显示文字,教大家电脑中文件夹不显示名字怎么办
  6. discuz登陆首页后提示style_1_commen.css,关于Discuz用户面板必须刷新才能显示登录状态的问题解决办法...
  7. 计算机应用基础课程建设规划,计算机应用基础课程建设方案(6页)-原创力文档...
  8. 【408预推免复习】计算机组成原理之计算机的运算方法
  9. python【数据结构与算法】KMP和扩展算法
  10. python【力扣LeetCode算法题库】面试题 08.11- 硬币