周期串java_求最小周期串
如果一个字符串可以由某个长度为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_求最小周期串相关推荐
- 最小表示串 学习【最小表示串 学习(粗)】
问题 对于一个字符串S,求S的循环的同构字符串S'中字典序最小的一个. 八卦 最小表示法是由IOI2003年冬令营的周源提出来的 周源是 2009年4月21日,第33届ACM国际大学生程序设计竞赛总决 ...
- ACM学习历程23——最小周期串问题
最小周期串问题属于字符串操作的基本题型之一,要求给定一个字符串找出其中最小的周期长度和最小周期子串.对于周期串的定义如下:如果一个字符串是以一个或者一个以上的长度为K的重复字符串连接成的,那么这个字符 ...
- C++算法9:KMP应用求字符串最小周期
1.输入重复序列的字符串,如果周期不存在,输出NO,如果周期存在,输出最小周期. 2.代码: # include <iostream> # include <string>us ...
- 字符串最小周期串问题
问题描述: 如果一个字符串可以由某个长度为n的字符串重复多次得到,则该串以n为周期.例如,abcabcabcabc以3为周期(注意,它也以6和12为周期). 输入一个长度不超过100的串,输出它的最小 ...
- kmp求最小循环节及最小循环周期
只列出求最小循环节部分 for(int i=1;i<=n;i++){int temp=i-next[i];if(i%temp==0 && i/temp>1)printf(& ...
- 周期(KMP找最小循环节)
Description: 一个字符串的前缀是从第一个字符开始的连续若干个字符,例如"abaab"共有5个前缀,分别是a, ab, aba, abaa, abaab. 我们希望知道一 ...
- 周期字符串的最小周期
题目描述 右右喜欢听故事,但是右右的妈妈总是讲一些"从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事,讲的什么呢?从前有座山--"这样循环的故事来搪塞右右. 我们定义,如果一个 ...
- usaco Calf Flac(O(n)时间求回文串长度)
好高兴,为数不多的我没看题解的题·,我用的是O(n)时间求回文串长度的算法算法在我上一篇博客. 然后就是注意细节了. /* ID:jinbo wu TASK: calfflac LANG:C++ */ ...
- 对tf.reduce_mean API的理解就是求平均值,reduce指的是一串数据求平均值后维数降低了,可不是吗,一串向量变成了一个数,维数自然降低了
tf.math.reduce_mean(input_tensor, axis=None, keepdims=False, name=None ) 对tf.reduce_mean的理解就是求平均值,re ...
最新文章
- 算法------二叉树的层序遍历
- WIN server 2003 下无法安装adobe cs3 终极解决方法。
- 天龙八部3d最新服务器,天龙八部3DIOS正版服务器整合互通公告
- Python之自动单元测试之一(unittest使用实例)
- JS-WEB-API(存储)
- jena dataset 增删改查
- position:relative 与 position:absolute
- 『操作系统』 进程的描述与控制 Part 1 前驱图与程序执行
- xtext_使用Xtext为Eclipse和IntelliJ开发DSL
- 接口XMPPConnection
- Alpha Fold 2
- dubbo之Serialization
- 基于Matlab的机器人学建模学习资料大整理
- C++/Python PAT乙级1051 复数乘法 (15分)
- 第十五周作业——ZJM与纸条
- [bowtie2, libtbb.so.2]error while loading shared libraries: libtbb.so.2: cannot open shared object
- 【python】创意二维码那么多,咋不的掺和一下整一手~
- 漏电检测系统客户端上位机设计
- Java调用MySQL并返回数据_Java调用MySQL存储过程并获得返回值的方法
- Python学习:线程池原理及实现
热门文章
- JAVA计算应缴住房基金,事业单位的住房基金如何核算?
- python采用函数式编程模式吗_Python函数与函数式编程
- Linux下使用stat命令所显示出来的三个时间
- Selenium3自动化测试——4. 获取百度备案信息
- 计算机名字更改时不显示文字,教大家电脑中文件夹不显示名字怎么办
- discuz登陆首页后提示style_1_commen.css,关于Discuz用户面板必须刷新才能显示登录状态的问题解决办法...
- 计算机应用基础课程建设规划,计算机应用基础课程建设方案(6页)-原创力文档...
- 【408预推免复习】计算机组成原理之计算机的运算方法
- python【数据结构与算法】KMP和扩展算法
- python【力扣LeetCode算法题库】面试题 08.11- 硬币