- 浏览: 55249 次
- 性别:
- 来自: 南京
文章分类
找出两个字符串中,连续相同的字符个数最少为min的字符串
(具体涉及一些不能公布的,还是不说了,有更好的算法,请拍砖讨论)
主要是这个函数--Compare2Str(String str1, String str2, int min),其他不用管
-----------------------------似乎还有点问题!等待明天继续调试
package com.ssj.test; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class CompareString { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String contig1 = "AAGAAACGTATCCGTGTTTACATGGATGGATGTTTCGATCTCATGCATTATGGACACGCA"+ "AATGCTTTAAGACAAGCTAAAGCTTTAGGAGATGAACTAGTAGTTGGAATTGTAAGTGAT" +"GAAGAAATCATCAAGAACAAAGGTCCTCCTGTTTTATCAATGGAGGAAAGATTGGCACTT" +"GTTAGTGGATTGAAGTGGGTTGATGAAGTTATTGCTAATGCACCATATGCTATTACCGAA" +"GACTTCATGAACAGTCTATTTAAAGAACATAAGATTGATTATATCATTCATGGAGATGAT" +"CCTTGTTTGCTTCCTGATGGAAGTGATGCATATGCTTTAGCAAAAAAAGTCGGTCGTTAC" +"AAGCAAATTAAACGTACAGAAGGCGTATCAAGCACCGACATTGTAGGAAGGATACTTGCA" +"TCCATGGAAGATAAAGAAGTATGTGAAGTTAATGGAGAAAGTAATGAAATGAATAAAAAT" +"TTGGACAGCCATTTCAAGGCCAAACATGCCTCTAATTTTTTGCCTACATCAAGAAGAATT" +"GTTCAGTTT"; String EL372564 = "AAGAAACGTATCCGTGTGTACATGGATGGATGTTTTGATCTCATGCATTATGGTCACGCAAATGCTTTAAGACAAGCTAAAGCTTTAGGAGACGAATTAGTGGTTGGAATTGTAAGTGATGAAGAAATCATCAAGAACAAAGGTCCTCCTGTTTTATCAATGGAGGAAAGATTGGCACTTGTTAGTGGATTGAAGTGGGTTGATGAAGTTATTGCTAATGCACCTTATGCTATTACTGAAGACTTCATGAACAGTCTATTTAAAGAACATAAGATTGATTATATCATTCATGGAGATGATCCTTGTTTGCTTCCTGATGGAAGTGATGCATATGCTTTAGCAAAAAAA"; String EL371249 = "AAGAAACGTATCCGTGTGTACATGGATGGATGTTTTGATCTCATGCATTATGGTCACGCAAATGCTTTAAGACAAGCTAAAGCTTTAGGAGACGAATTAGTGGTTGGAATTGTAAGTGATGAAGAAATCGTCAAGAACAAAGGTCCTCCTGTTTTATCAATGGAGGAAAGATTGGCACTTGTTAGTGGATTGAAGTGGGTTGATGAAGTTATTGCTAATGCACCTTATGCTATTACTGAAGACTTCATGAACAGTCTATTTAAAGAACATAAGATTGATTATATCATTCATGGAGATGATCCTTGTTTGCTTCCTGATGGAAGTGATGCATATGCTTTAGCAAAAAAA"; String EL347301 = "AAGAAACGTATCCGTGTGTACATGGATGGATGTTTTGATCTCATGCATTATGGTCACGCAAATGCTTTAAGACAAGCTAAAGCTTTAGGAGACGAATTAGTGGTTGGAATTGTAAGTGATGAAGAAATCATCAAGAACAAAGGTCCTCCTGTTTTATCAATGGAGGAAAGATTGGCACTTGTTAGTGGATTGAAGTGGGTTGATGAAGTTATTGCTAATGCACCTTATGCTATTACTGAAGACTTCATGAACAGTCTATTTAAAGAACATAAGATTGATTATATCATTCATGGAGATGATCCTTGTTTGCTTCCTGATGGAAGTGATGCATATGCTTTAGCAAAAAAAGTTGGTCGTTACAAACAAATTAAACGTACAGAAGGCGTATCAAGCACCGACATTGTAGGAAGGATACTTGCATCCATGGAAGAT"; String EH685069 = "AAGAAACGTATCCGTGTTTACATGGATGGATGTTTCGATCTCATGCATTATGGACACGCAAATGCTTTAAGACAAGCTAAAGCTTTAGGAGATGAACTAGTAGTTGGAATTGTAAGTGATGAAGAAATCATCAAGAACAAAGGTCCTCCTGTTTTATCAATGGAGGAAACATTGGCACTTGTTAGTGGATTGAAGTGGGTTGATGAAGTTATTGCTAATGCACCATATGCTATTACCGAAGACTTCATGAACAGTCTATTTAAAGAACATAAGATTGATTATATCATTCATGGAGATGATCCTTGTCTGCTTCCTGATGGAAGTGATGCATATGCTTTAGCAAAAAAAGTCGGTCGTTACAAGCAAATTAAACGTACAGAAAGCGTATCAAGCACCGACATTGTAGGAAGGGTACTTGCATCCATGGAAGATAAAGAACTATGTGAA"; // String str3 = "AAGAAACGTATCCGTGT--TTACATGGATGGATGTTTCGATCTCATGCATTATGGACACGCAAATGC"; System.out.println("--------contig1 and EL372564---------"); CompareTest(contig1, EL372564); System.out.println("\n--------EL371249 and EL372564---------"); CompareTest(EL371249, EL372564); System.out.println("\n--------EL372564 and EL347301---------"); CompareTest(EL372564, EL347301); System.out.println("\n--------contig1 and EH685069---------"); CompareTest(contig1, EH685069); //System.out.println("AAGAAACGTATCCGTGTTTACATGGATGGATGTTTCGATCTCATGCATTATGGACACGCA".length()); String contig = "TNNNNNNNNNNNNNNNNNNNNNACTTATGCACAGACCAACCTGAATGTTGACGTGCTCCA" +"CATTTCCTACCTATCTTACACTTACCATAATGGGTGGAATATGTTCTTTCTAAAGTATTT" +"TCATTAGGTTTTAAAGCCCACATGCATCTTAAAGAAAATGTAAACCACATGTTTGACATT" +"CATTTACACTTAACTACTTTTTTTCCTATAAAAAAGAAAAATGTAAATGTGATGTTCAAA" +"TTGCCAATTTGAGAGCCATATTGTGTACATTAAAATTAGTGGCATTTCAAGTCATTTTTC" +"TTTCCATGGAATTATTACAAAGGAAAATGCCTTTGAACAATAGAAAGTCATGGATCTATC" +"CCAACTCTAAATAAGTGGTATTTTAGTGGGTTTTAAACATGGTTAAAGTTCTTATCCCAG" +"AGCTCTAAACCACAAAGCCCAGTTATATTGGTTCTCTTCATCTGTCAGAGGTAAAAACAG" +"AGGGTATTGATCTTTTATTTATCTTTGAAGCTTTAAAGTATAATTAGTTAA"+ "AGAAAAAGT" +"TTCTGTACTTAGAACATCTCGGTTCTAGCCTTGACTTATGCTAGAAACAAGGATTATATC" +"TGTATTAGTCTGGTCATACACTGTTATAAAGAACTACCTGAGACTGGATAATTTATAAAG" +"AAAAGAGGTTTAATTAGCTTATGGTTCCACAGGCTGTACAGGAAGCATGCCTGGGGAGGC" +"CTTAAGAAACTTACAATCATGGCAGAATGTGAAGAGGAAGAAAGCATGTTTTCTCATGGC" +"CAGAGCAAGAGGAAGAGAGAGAAGGGGGAGGTGCTACTCCACTTTTAANGCAACCCAGAT" +"CTCATGAGAACTCCACTCCATTGTGCACAAAAATGGCCAAGGGCGGAAATTTCCACCCTC" +"GTGATCNNCAATCACCTCCCACCAGGCCCCTCCTCTATTATTGGGGATTACAATTTGGCA" +"TGAGATCTGGGTGAGGACACAAATCCAAACCATATCAACATCCCTACTCTACTTACTTTA" +"TAAACTTGGTGGGAGAATCAAGTGGCATGGGGATGAAAGTCAATGGATACCGGAAAGAGG" +"ACTAATCCATGGCTGAAAGGGGGGTATCCAATTACACCAAGGCTTTACAGGGGAAATATA" +"CAGAGGTTAAAACAAAGGTTTGGTCTTTCCAAAA"; String ENV1180 = "TNNNNNNNNNNNNNNNNNNNNNACTTATGCACAGACCAACCTGAATGTTGACGTGCTCCA" +"CATTTCCTACCTATCTTACACTTACCATAATGGGTGGAATATGTTCTTTCTAAAGTATTT" +"TCATTAGGTTTTAAAGCCCACATGCATCTTAAAGAAAATGTAAACCACATGTTTGACATT" +"CATTTACACTTAACTACTTTTTTTCCTATAAAAAAGAAAAATGTAAATGTGATGTTCAAA" +"TTGCCAATTTGAGAGCCATATTGTGTACATTAAAATTAGTGGCATTTCAAGTCATTTTTC" +"TTTCCATGGAATTATTACAAAGGAAAATGCCTTTGAACAATAGAAAGTCATGGATCTATC" +"CCAACTCTAAATAAGTGGTATTTTAGTGGGTTTTAAACATGGTTAAAGTTCTTATCCCAG" +"AGCTCTAAACCACAAAGCCCAGTTATATTGGTTCTCTTCATCTGTCAGAGGTAAAAACAG" +"AGGGTATTGATCTTTTATTTATCTTTGAAGCTTTAAAGTATAATTAGTTAA" + "GGAAAAGTT" +"CTGTACTTAGAACATCTCGGTTCTAGCCTTGACTTATGCTAGAAACAAGGATTATATCTG" +"TATTAGTCTGGTCTACACTGTTATAAAGAACTACCTG"; String ENV446 = "CCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXTATCCAACTCTAAATAAGTGGTATTT" +"AGTGGGTTTTAAACATGGTTAAAGTTCTTATCCCAGAGCTCTAAACCACAAAGCCCAGTT" +"ATATTTGTTCTCTTCATCTGTCAGAGGTAAAAACAGAGGGTATTGATCTTTTATTTATCT" +"TTGAAGCTTTAAAGTATAATTTGTTCAAGGAAAAGTTTCTGTACTTAGAACATCTCGGTT" +"CTAGCCTTGACTTATGCTAGAAACAAGGATTATATCTGTATTAGTCTGTTCATACACTGT" +"TATAAAGAACTACCTGAGACTGGATAATTTATAAAGAAAAGAGGTTTAATTAGCTTATGG" +"TTCCACAGGCTGTACAGGAAGCATGCCTGGGGAGGCCTTAAGAAACTTACAATCATGGCA" +"GAATGTGAAGAGGAAGAAAGCATGTTTTCTCATGGCCAGAGCAAGAGGAAGAGAGAGAAG" +"GGGGAGGTGCTACTCCACTTTTAANGCAACCCAGATCTCATGAGAACTCCACTCCATTGT" +"GCACAAAAATGGCCAAGGGCGGAAATTTCCACCCTCGTGATCNNCAATCACCTCCCACCA" +"GGCCCCTCCTCTATTATTGGGGATTACAATTTGGCATGAGATCTGGGTGAGGACACAAAT" +"CCAAACCATATCAACATCCCTACTCTACTTACTTTATAAACTTGGTGGGAGAATCAAGTG" +"GCATGGGGATGAAAGTCAATGGATACCGGAAAGAGGACTAATCCATGGCTGAAAGGGGGG" +"TATCCAATTACACCAAGGCTTTACAGGGGAAATATACAGAGGTTAAAACAAAGGTTTGGT" +"CTTTCCAAAA"; System.out.println("\n--------contig and ENV1180---------"); CompareTest(ENV1180, contig); String str = ""; // Compare2Str("abcdbce","cbce",2); Compare2Str(ENV446,ENV1180,20); // System.out.println(ENV446.indexOf()); } public static void CompareTest(String str1, String str2){ int len1 = str1.length(); int len2= str2.length(); StringBuffer strb = new StringBuffer(); int k = (len1>len2 ? len2 : len1); //System.out.println("k = "+k); // int num = 0; for (int i = 0; i<k; i++){ if(str1.charAt(i) == str2.charAt(i)){ strb.append(str1.charAt(i)); } else { // num = i; break; } } System.out.println("the num of the same char : "+strb.length()); System.out.println("the same String is : " +strb.toString()); // System.out.println("the arrays1 is : " +strb.toString()); // if(strb.toString().equals(str1.substring(0,num))){ // System.out.println("Very Good!!!"); // } } public static void Compare2Str(String str1, String str2, int min){ //找出两个字符串中,连续相同的字符个数最少为min的字符串 int len1 = str1.length(); int len2= str2.length(); StringBuffer strb = new StringBuffer(); String maxStr, minStr; int minLen = 0; int maxLen = 0; if(len1 > len2){ maxLen = len1; minLen = len2; maxStr = str1; minStr = str2; } else{ maxLen = len2; minLen = len1; maxStr = str2; minStr = str1; } List strList = new ArrayList(); char c1, c2; for (int i=0; i<maxLen; i++){ StringBuffer tempStr = new StringBuffer(""); c1 = maxStr.charAt(i); for(int j=0; j<minLen; j++){ c2 = minStr.charAt(j); while(c1 == c2){ tempStr.append(c1); if(++i<maxLen && ++j<minLen){ c1 = maxStr.charAt(i); c2 = minStr.charAt(j); } else{ break; } } if(tempStr.length()>=min){ strList.add(tempStr); } } } Iterator iter = strList.iterator(); while(iter.hasNext()){ StringBuffer s = (StringBuffer)iter.next(); System.out.println("-------" + s.toString()); } } public static void isHaveSubString(String str1, String str2){ if(str1.startsWith(str2)){ System.out.println("---OK--"); } } }
发表评论
-
近一个月的总结
2009-10-14 21:50 859早就想写些总 ... -
动态控制循环层数
2009-10-10 19:13 2543动态控制循环层数如:函数 cycle(int t)publi ... -
lotto
2009-10-09 15:27 772public class Lotto { /** ... -
判断二进制数中1的个数
2009-10-09 09:24 1260public class TestYihuo { / ... -
将帅之争
2009-10-08 15:48 720public class ChinaChess { ... -
求一个随意正整数N,从1到N含有1的个数
2009-10-08 14:12 2060RT: 例如 N=5, ... -
关于ibatorConfig.xml配置的错误!
2009-09-27 21:15 2265关于ibatorConfig.xml配置的错误! <a ... -
Java中对象的串行化(Serialization)和transient关键字
2009-09-24 11:10 709前言: 该篇文章参考自网上资料,但是部分内容经过笔者 ...
相关推荐
汇编语言详细介绍.txt
linux/嵌入式软件开发工具—adb
[python1]Python脚本。模拟登录知乎, 爬虫,操作excel,微信公众号,远程开机【PGL】.zip [python1]Python脚本。模拟登录知乎, 爬虫,操作excel,微信公众号,远程开机【PGL】.zip [python1]Python脚本。模拟登录知乎, 爬虫,操作excel,微信公众号,远程开机【PGL】.zip
为自动脚本量身定做的状态机!像多线程那样去轮询多个状态,不同的状态满足后去执行不同的定时任务。
Bulk Rename utility(文件重命名软件)是一款简便实用的批量文件重命名工具。怎么快速多个文件改名?Bulk Rename utility(文件重命名软件)轻松帮助用户批量修改文件名。该软件具有灵活规则的自动编号文件,而且还能够根据多个灵活的标准快速重命名多个文件。 激活信息(大飞哥软件自习室)在压缩包文档内 软件特色 1、快速重命名多个文件,根据许多灵活的标准。 2、多功能的重命名方式:添加,替换文件名中插入文本。转换的情况下,添加号码。删除或更改文件扩展名。 3、在文件重命名前可以即时预览。 4、重命名的照片EXIF元数据(即“拍摄日期”,“分辨率”等信息嵌入在所有JPG图片文件)重命名你的照片文件名从一个毫无意义的dsc1790.jpg到一个新的文件名。 5、重命名MP3文件的ID3标签(又名MP3 ID3标签重命名)。 6、更改文件的创建日期和修改时间等。
14.STM32F103C8T6+CUBEMX+循迹模块(定时器计数、测速)
基于java的电影订票及评论网站的开题报告.docx
该项目是基于JavaScript和Vue框架的绩效考核系统设计源码,包含168个文件,主要语言为JavaScript。项目文件类型包括41个JavaScript文件、34个map文件、33个CSS样式表、27个Vue组件文件、6个图标文件(ico)、6张图片文件(jpg)、3个HTML模板文件、3张图片文件(png)、2个JSON配置文件、2个Web字体文件(woff2)。此系统适用于需要进行员工绩效考核管理的场景。
【DBVM驱动修改版CE7.5.1版本防检测】是针对游戏或软件反作弊系统的一种技术解决方案,主要用于提升CE的权限来绕过或屏蔽检测机制。在这个场景中,"DBVM"(指的是“Debugging Virtual Machine”)是一种特殊的虚拟机,被用于调试和分析程序,而CheatEngine(CE)7.5.1则是一个知名的内存修改工具,常被用于游戏修改,以获取竞争优势。 此版本优势: 1、加入DBVM调试可用 2、过滤掉CE方法关键字,防止游戏特征 3、重写CE签名,防特征 4、可过市面上大部分检测
嵌入式学习,电子信息技术
人力资源+大数据+薪酬报告+涨薪调薪,在学习、工作生活中,越来越多的事务都会使用到报告,通常情况下,报告的内容含量大、篇幅较长。那么什么样的薪酬报告才是有效的呢?以下是小编精心整理的调薪申请报告,欢迎大家分享。相信老板看到这样的报告,一定会考虑涨薪的哦。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
【安卓开发】安卓快速开发库.zip 【安卓开发】安卓快速开发库.zip 【安卓开发】安卓快速开发库.zip 【安卓开发】安卓快速开发库.zip
基于java的人事管理信息系统的开题报告.docx
html 学习的详细课程大纲,每个部分有推荐书籍。
在使用Python来安装geopandas包时,由于geopandas依赖于几个其他的Python库(如GDAL, Fiona, Pyproj, Shapely等),因此安装过程可能需要一些额外的步骤。以下是一个基本的安装指南,适用于大多数用户: 使用pip安装 确保Python和pip已安装: 首先,确保你的计算机上已安装了Python和pip。pip是Python的包管理工具,用于安装和管理Python包。 安装依赖库: 由于geopandas依赖于GDAL, Fiona, Pyproj, Shapely等库,你可能需要先安装这些库。通常,你可以通过pip直接安装这些库,但有时候可能需要从其他源下载预编译的二进制包(wheel文件),特别是GDAL和Fiona,因为它们可能包含一些系统级的依赖。 bash pip install GDAL Fiona Pyproj Shapely 注意:在某些系统上,直接使用pip安装GDAL和Fiona可能会遇到问题,因为它们需要编译一些C/C++代码。如果遇到问题,你可以考虑使用conda(一个Python包、依赖和环境管理器)来安装这些库,或者从Unofficial Windows Binaries for Python Extension Packages这样的网站下载预编译的wheel文件。 安装geopandas: 在安装了所有依赖库之后,你可以使用pip来安装geopandas。 bash pip install geopandas 使用conda安装 如果你正在使用conda作为你的Python包管理器,那么安装geopandas和它的依赖可能会更简单一些。 创建一个新的conda环境(可选,但推荐): bash conda create -n geoenv python=3.x anaconda conda activate geoenv 其中3.x是你希望使用的Python版本。 安装geopandas: 使用conda-forge频道来安装geopandas,因为它提供了许多地理空间相关的包。 bash conda install -c conda-forge geopandas 这条命令会自动安装geopandas及其所有依赖。 注意事项 如果你在安装过程中遇到任何问题,比如编译错误或依赖问题,请检查你的Python版本和pip/conda的版本是否是最新的,或者尝试在不同的环境中安装。 某些库(如GDAL)可能需要额外的系统级依赖,如地理空间库(如PROJ和GEOS)。这些依赖可能需要单独安装,具体取决于你的操作系统。 如果你在Windows上遇到问题,并且pip安装失败,尝试从Unofficial Windows Binaries for Python Extension Packages网站下载相应的wheel文件,并使用pip进行安装。 脚本示例 虽然你的问题主要是关于如何安装geopandas,但如果你想要一个Python脚本来重命名文件夹下的文件,在原始名字前面加上字符串"geopandas",以下是一个简单的示例: python import os # 指定文件夹路径 folder_path = 'path/to/your/folder' # 遍历文件夹中的文件 for filename in os.listdir(folder_path): # 构造原始文件路径 old_file_path = os.path.join(folder_path, filename) # 构造新文件名 new_filename = 'geopandas_' + filename # 构造新文件路径 new_file_path = os.path.join(folder_path, new_filename) # 重命名文件 os.rename(old_file_path, new_file_path) print(f'Renamed "{filename}" to "{new_filename}"') 请确保将'path/to/your/folder'替换为你想要重命名文件的实际文件夹路径。
基于java的社区文化宣传网站的开题报告.docx
【精品推荐】科技重塑零售业六大变革趋势报告PPT(完整版)图文.pptx
嵌入式学习,电子信息技术
Java实现的面向对象设计模式示例,创建者、抽象工厂、工厂方法、原型、单例、适配器、桥接、组合、装饰器、备忘录等等.zip