题目链接:

描述

用一个字符串表示一段基因,例如:“CTATGGGTTT”。两段基因的相似度定义为它们所包含的最大公共子串的长度。例如:“CCTTGG”和“TGGGC”的最大公共子串为“TGG”,它的长度为3,则我们称“CCTTGG”和“TGGGC”的相似度为3。现给定两段基因,要求计算它们的相似度。

输入

输入第一行包含一个正整数N(0<N<100),表示测试数据的数目;接下来N行,每行包含两个字符串(每个字符串长度小于等于20),用一个空格隔开,分别表示给定的两段基因。

输出

对于每组测试数据输出一行,该行包含一个整数,表示给定基因段的相似度。

样例输入

2
CCCCC TTTTTGGGGGCC
ACTGGG DDD

样例输出

2
0

解题代码:

def getMax(str1,str2,minlen):t = 0a = minlenwhile a > -1:for i in range(minlen-a):substr2 = str2[i:i+a+1]# print(substr2)if substr2 in str1:t = a+1breakif t > 0:breaka -= 1return tn = int(input())
for i in range(n):x = input()str1 = x.split()[0]str2 = x.split()[1]if len(str1) > len(str2):r = getMax(str1, str2, len(str2))else:r = getMax(str2, str1, len(str1))print(r)

百练OJ:2678:基因检测相关推荐

  1. 威佐夫博弈:百练OJ:1067:取石子游戏

    威佐夫博弈(Wythoff's game):有两堆各若干个物品,两个人轮流从任一堆取至少一个或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜. 百练OJ:1067:取石子游戏 ...

  2. 百练OJ:4003:十六进制转十进制(python三行代码实现)

    题目链接:百练OJ:4003 描述 将十六进制数转换成十进制数 输入 第一行有一个整数T,表示共有T组数据 接下来T行,每一行为一个16进制无符号正整数,位数不超过8位,数中的a-f均为大写字母,数前 ...

  3. 百练OJ:2742:统计字符数

    题目链接: 百练OJ:2742:统计字符数 描述:判断一个由a-z这26个字符组成的字符串中哪个字符出现的次数最多 输入:第1行是测试数据的组数n,每组测试数据占1行,是一个由a-z这26个字符组成的 ...

  4. java函数实现进制转换与java实现八进制到十进制的转换(百练OJ:2735:八进制到十进制)

    java进制转换函数介绍:Java二进制.八进制.十进制.十六进制相互转换: 二进制转十进制 Integer.parseInt("0110", 2); 八进制转十进制 Intege ...

  5. 百练OJ:2973:Skew数

    题目链接: 百练OJ:2973:Skew数 描述:在 skew binary表示中, 第 k 位的值xk表示xk*(2k+1-1). 每个位上的可能数字是0 或 1,最后面一个非零位可以是2, 例如, ...

  6. 程序员多久才能在北京买房子?百练OJ:4022:买房子

    百练OJ:4022:买房子 题目链接:4022:买房子 描述 某程序员开始工作,年薪N万,他希望在中关村公馆买一套60平米的房子,现在价格是200万,假设房子价格以每年百分之K增长,并且该程序员未来年 ...

  7. 百练OJ:3865和2677:肿瘤检测

    题目链接:肿瘤检测 描述:一张CT扫描的灰度图像可以用一个N*N(0<N<100)的矩阵描述,矩阵上的每个点对应一个灰度值(整数),其取值范围是0-255.我们假设给定的图像中有且只有一个 ...

  8. 百练OJ:4147:汉诺塔问题(Hanoi)——python实现汉诺塔

    一.汉诺塔问题 有三根杆子A,B,C.A杆上有N个(N>1)穿孔圆盘,盘的尺寸由下到上依次变小.要求按下列规则将所有圆盘移至C杆: 每次只能移动一个圆盘: 大盘不能叠在小盘上面. 提示:可将圆盘 ...

  9. 百练OJ:1013:Counterfeit Dollar(假币)

    题目描述 Sally Jones has a dozen Voyageur silver dollars. However, only eleven of the coins are true sil ...

最新文章

  1. linux获取最高权限并取消_通过安卓渗透WIN7获取系统最高权限
  2. checkbox取值 php_php获取checkbox复选框的内容
  3. 私有镜像仓库的部署与使用方法
  4. c++ opencv编程实现暗通道图像去雾算法_OpenCV图像处理专栏十三 | 利用多尺度融合提升图像细节...
  5. 在VS2010中使用Git管理源代码
  6. mysql中to_char()和str_to_date()函数
  7. 【学习笔记3】hook、冒烟测试、Procexp的使用
  8. 单片机实验五、外部中断实验
  9. 联通的G网和C网分别是什么意思?
  10. EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT
  11. Bootstrap官网的Bootstrap 3 字体图标的使用测试
  12. SQL server 认证考试
  13. 语音处理 之 训练维护
  14. L1-059 敲笨钟
  15. 怎样在普通java项目中使用aspectj
  16. python中的sort排序加换行_python中sort()排序的方法
  17. 如何编写测试用例?(详细分析)
  18. effective java之 builder模式
  19. sqlite的count
  20. Excel 2007 宝典 (中文版高清PDF下载)

热门文章

  1. 激光与红外线的区别?激光雷达与毫米波雷达区别?毫米波雷达无法感知行人吗?关于Intel Realsense D435有源红外技术猜想
  2. python opencv cv2.namedWindow(winname, flags=None) (命名)创建窗口 cv::WindowFlags
  3. 下载并配置完dex-net,在CLI中执行相应操作命令报错解决
  4. 总结Linux-ubuntu基本配置方法(远程连接,数据库,jdk,tomcat......)
  5. Docker安装Logstash7.7.0
  6. oracle索引和同义词,关于Oracle序列、索引、同义词
  7. CentOS7下Hadoop集群搭建
  8. MySQL5.7 Linux安装流程
  9. orika java_Orika JavaBean映射工具探秘
  10. 何晓群pdf 应用回归分析第五版_暨南社会学论坛|未成年人司法中的法律实证与统计应用:多元回归分析(第三期)...