Python 整数的N进制字符串表示,循环和函数_亲密数,DNA匹配A

这篇博客介绍了三个Python编程问题:DNA字符串匹配算法、亲密数的求解以及整数的N进制字符串表示方法。通过实例展示了如何解决这些问题,包括暴力解法和更高效的算法实现。

这次作业终于碰到需要思考的题目了(呜呜呜

1. DNA匹配A

【问题描述】编写与字符串对象的find方法功能相似的函数find(srcString, substring, start, end),作用是在srcString串的下标start到下标end之间的片段中寻找subString串的第一次出现的位置,返回该位置值;如果没找到,返回-1。
编写程序,输入源串和子串,检验find(someString, substring,start,end)是否正确。

【输入形式】按照somestrig,substring,start,end的顺序输入,各成分之间由空格隔开。Somestring和substring均由A/T/C/G四个字母组成。start和end由自然数构成。
【输出形式】当匹配成功时,输出子串在DNA字符串的位置,以子串第一个字母在DNA字符串中匹配位置的下标;当匹配失败时,输出-1。
【样例输入】ATCGGCGCGGCGT CGG 0 10
【样例输出】2
【样例说明】下标从0开始计数。

看到这道题目到时候就笑了,这不是Leetcode上的那道实现strStr()嘛,我还写过题解,其实这题应该是一题KMP问题,但是我还是暴力解了一下。
代码如下:

string = 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值