用于字符串拼接,字符串重合度以及偏移量算法

为了解决DNA序列的拼接以及检错,特写一下算法

package my.dna;
/**
 *
 * @author mabixiang
 *
 */
public class Util2 {

	public static void main(String[] args) {
		String a = "lkjhgfasd";
		String b = "sd5sflk";
		resemble(a,b);
	}

	public static void resemble(String one,String two){

		char[] x = addStr(one,two).toCharArray();
		char[] y = two.toCharArray();
		int similar = 0;
		int maxi = 0;

		for(int i=0;i<x.length-y.length+1;i++){
			int sim = 0;
			for(int j=0;j<y.length;j++){
				if(y[j]==x[i+j]){
					sim++;
				}
			}
			if(sim>similar){
				similar=sim;
				maxi=i;
			}
		}

		System.out.println("相对于one,two重合偏移位:"+(maxi-y.length+1));
		System.out.println("重合程度:"+((float)similar/y.length));

	}

	public static String addStr(String one,String two){
		StringBuffer sb = new StringBuffer();
		for(int i=0;i<two.length()-1;i++){
			sb.append(‘0‘);
		}
		String ss = sb.toString();
		return ss+one+ss;
	}
}

用于字符串拼接,字符串重合度以及偏移量算法

时间: 2024-08-10 08:17:12

用于字符串拼接,字符串重合度以及偏移量算法的相关文章

(一)Python入门-2编程基本概念:14字符串-转义字符-字符串拼接-字符串复制-input()获得键盘输入

一:转义字符 我们可以使用“\+特殊字符”,实现某些难以用字符表示的效果.比如:换行等.常见的 转义字符有这些: 转义字符 描述 \(在行尾时) 续行符 \\ 反斜杠符号 \' 单引号 \" 双引号 \b 退格(Backspace) \n 换行 \t 横向制表符 \r 回车 [操作]测试转义字符的使用 1 >>> a = 'i\nlove\nu' 2 >>> a 3 'i\nlove\nu' 4 >>> print(a) 5 i 6 love

freemarker字符串拼接

freemarker字符串拼接 1.字符串拼接的几种类型 (1)字符串和字符串 (2)字符串和数字 (3)字符串和字符串变量 (4)字符串变量和字符串变量 2.演示演示样例 <#--定义字符串--> <#assign str = "张三丰"/> ${str} <#--字符串拼接(字符串和字符串,字符串和数字,字符串和字符串变量,字符串变量和字符串变量)--> <#--字符串和字符串--> ${"您好," + "

拼接字符串 去除所有可能的重复

比如拼接2个页面的某信息 A页面 : 1.2.3.4.5 B页面: 2.3.4.5.6. 拼接后 只需要  1.2.3.4.5.6 不需要 1.2.2.3.3.4.4.5.5.6 var geoCoords = worldfoot.Replace(" ", "").Replace("\r\n", "").Split(new string[] { "]," }, StringSplitOptions.Remo

mysql拼接字符串和过滤字符的方法

数据 id                value 1        aa<p>QL实木颗粒</p> 2        bb<p>QL实木颗粒</p> 3        cc<p>QL实木颗粒</p> 1.拼接字符串 ##拼接字符串 update `z_biao` set `value` = CONCAT("前面添加字符串",`value`,"中间添加字符串", `value`, "

jQuery 字符串拼接

jQuery 字符串拼接 // 字符串加变量拼接 $('#id 标签名[属性名="' + 变量 + '"]') 原文地址:https://www.cnblogs.com/xiangsikai/p/10418488.html

关于的字符串的总结(群,子群,KMP算法,正则表达式):

字符串: 群: ? 群是一种只有一个运算的,简单的线性结构,可用来建立许多其他代数系统的一种基本结构. ? 设G是一个非空集合,a,b,c为它的任意元素.如果对G所定义的一种代数运算"."满足: 封闭性:a.b属于G 结合律:(ab)c=a(bc) 对于G中的任意元素a,b在G中存在唯一一个元素x,y,使得ax=b,ya=b,则称G对于所定义的运算构成一个群. 满足交换律是交换群 子群: ? 设H是群<G,.>的非空子集,则H是G的子群当且仅当H满足以下条件: 对任意的a,

关于前端js拼接字符串的一点小经验

1.今天在做项目的时候遇到一个问题,就是使用onclick="xxx()"  点击事件的时候,参数如果为全数字就会出现点击无反应的问题.但是当参数为字符串或者动态内容的时候就会出现事件无法响应.比如onclick="add("abc")";这样在add方法中无法获取到参数. 解决办法:是用转移字符,onclick="add(\'abc\')";这样在方法中就可以使用了.         2.还有一个是在做拼接字符串的时候,如果

knockoutJS学习笔记01:从拼接字符串到编写模板引擎

开篇 关于knockout的文章,园里已经有很多大神写过了,而且都写得很好.其实knockout学习起来还是很容易的,看看官网的demo和园里的文章,练习练习就可以上手了(仅限使用,不包含研究源码).之所以想写这个系列,主要是想记录自己的学习和应用过程,也希望能给初学者一点帮助. 既然是学习过程就一步一步来,从最开始的解决方案,到优化过程,到最后的实现方案.有了思考和对比,才会更加明白这个东西有什么好处,为什么使用它.什么情况要使用它.ok, 官网学习链接为?:knockoutJS 准备例子 过

js最基础知识回顾3(字符串拼接,数据类型,变量类型,变量作用域和闭包,运算符,流程控制,)

一.javaScript组成     1.ECMAScript:解释器.翻译 ---------------------------------------------------------几乎没有兼容性问题     2.DOM:Document Object Model --------操作HTML的能力----document--------有一些兼容性问题     3.BOM:Browser Object Model -------------浏览器---------------wind