- 示例
1.输入:s="AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"
输出:目标子串:[AAAAACCCCC, CCCCCAAAAA]
2.输入:s="AAAAAAAAAAAAAAAAAAAAAAA";
输出:目标子串:[AAAAAAAAAA]
下面就是这个程序的相关代码,欢迎大家留言讨论。(代码快速完成,有些地方思考不足以及忘记,欢迎大家指正)
package com.ylp.io;
import java.awt.List;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
/**
* 编写函数找出一个目标子串,目标子串的长度为10,且在字符串s中出现次数超过一次
* @author ylp
*
*/
public class test {
public static List findRepeatedDnaSequences(String s){
int length=s.length();//字符串的长度
//System.out.println(length);
int len=10;//目标子串的长度为10
Set<String> reSet=new HashSet<String>();
String str1;
String str2;
for(int i=0;i<length-10;i++) {
str1=s.substring(i,i+len); //第一次
// System.out.println("str1"+str1);
for(int j=i+1;j<length-10;j++) {
str2=s.substring(j,j+len); //第二次
if(str1.equals(str2)) {
reSet.add(str1);
//System.out.println(str1);
}
}
}
System.out.println("目标子串:"+reSet);
return null;
}
public static void main(String[] agrs) {
// String s="AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT";
String s="AAAAAAAAAAAAAAAAAA";
List sList=findRepeatedDnaSequences(s);
}
}