美文网首页算法第四版习题讲解
算法练习(20):字符串的回环变位(1.2.6)

算法练习(20):字符串的回环变位(1.2.6)

作者: kyson老师 | 来源:发表于2017-09-17 13:09 被阅读256次

本系列博客习题来自《算法(第四版)》,算是本人的读书笔记,如果有人在读这本书的,欢迎大家多多交流。为了方便讨论,本人新建了一个微信群(算法交流),想要加入的,请添加我的微信号:zhujinhui207407 谢谢。另外,本人的个人博客 http://www.kyson.cn 也在不停的更新中,欢迎一起讨论

算法(第4版)

知识点

  • Java中的字符串
  • 回环变位

题目

1.2.6 如果字符串 s 中的字符循环移动任意位置之后能够得到另一个字符串 t,那么 s 就被称为 t 的回环变位(circular rotation)。例如,ACTGACG 就是 TGACGAC 的一个回环变位,反之亦然。判定这个条件在基因组序列的研究中是很重要的。编写一个程序检查两个给定的字符串 s 和 t 是否互为回环变位。提示:答案只需要一行用到 indexOf()、length() 和字符串连接的代码。


1.2.6 A string s is a circular rotation of a string t if it matches when the characters are circularly shifted by any number of positions; e.g., ACTGACG is a circular shift of TGACGAC, and vice versa. Detecting this condition is important in the study of genomic sequences. Write a program that checks whether two given strings s and t are circular

答案


public static boolean isCircularRotation(String s, String t) {
        return s.length() == t.length() && (t + t).contains(s);
    }

代码索引

CircularRotation.java

视频讲解

点此观看分析视频

广告

我的首款个人开发的APP壁纸宝贝上线了,欢迎大家下载。

相关文章

网友评论

  • d91404aeee79:请问下为什么这本书没有讲很基础的冒泡排序啊,是不是太简单了且效率不高
    kyson老师:@biber 不知道啊,还在看,看完再跟你讲:blush:
    d91404aeee79:您是说第2章排序吗,2.12是讲选择排序,这个就是指的冒泡排序吧?
    kyson老师:@biber 后面有个章节专门讲排序算法的,这里只是事先讲了二分法查找,为下面的排序打基础。

本文标题:算法练习(20):字符串的回环变位(1.2.6)

本文链接:https://www.haomeiwen.com/subject/niwpsxtx.html