题解 | #DNA序列#

DNA序列

https://www.nowcoder.com/practice/e8480ed7501640709354db1cc4ffd42a

def GC(n,s):
    gc = 0
    #pre是记录长度为n的子串的起始下标,初始为0
    pre = 0
    #算出第一个长度为n的字串里的gc值,作为初始滑动窗口
    for i in range(n):
        if s[i] == 'G' or s[i] == 'C':
            gc += 1
    max_gc = gc
    #如果gc值等于n代表整个字串都由gc组成,后续的gc值最多等于它,不会超过并且它也是第一个出现的,可以提前结束,直接返回,下面判断同理。
    if gc == n:
        return pre
    for i in range(n,len(s)):
        if s[i] == 'G' or s[i] == 'C':
            gc += 1
        if s[i-n] == 'G' or s[i-n] == 'C':
            gc -= 1
        if gc == n:
            return i-n +1
        if gc > max_gc:
            max_gc = gc
            pre = i-n+1
    return pre
s = input()
n = int(input())
pre = GC(n,s)
print(s[pre:pre+n])

原始一点点的解法 文章被收录于专栏

尽量不借助面向对象的思想,自己去实习具体过程

全部评论
时间复杂度为O(n),并且可以提前结束循环。空间复杂度O(1)
点赞 回复 分享
发布于 2023-07-03 22:21 四川

相关推荐

03-17 11:21
四川大学 C++
yanyycc:这不是学校课设吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# 长得好看会提高面试通过率吗? #
3136次浏览 43人参与
# HR最不可信的一句话是__ #
1014次浏览 32人参与
# 巨人网络春招 #
11484次浏览 224人参与
# 春招至今,你的战绩如何? #
14766次浏览 137人参与
# AI面会问哪些问题? #
890次浏览 22人参与
# 你的实习产出是真实的还是包装的? #
2704次浏览 52人参与
# 米连集团26产品管培生项目 #
7063次浏览 224人参与
# 沪漂/北漂你觉得哪个更苦? #
1209次浏览 38人参与
# 你做过最难的笔试是哪家公司 #
1123次浏览 20人参与
# AI时代,哪个岗位还有“活路” #
2675次浏览 49人参与
# XX请雇我工作 #
51147次浏览 171人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
7965次浏览 43人参与
# 简历第一个项目做什么 #
32067次浏览 357人参与
# 简历中的项目经历要怎么写? #
310896次浏览 4257人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
152823次浏览 888人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
187553次浏览 1123人参与
# AI时代,哪些岗位最容易被淘汰 #
64539次浏览 864人参与
# 如果重来一次你还会读研吗 #
229971次浏览 2011人参与
# 投格力的你,拿到offer了吗? #
178239次浏览 891人参与
# 你怎么看待AI面试 #
180643次浏览 1295人参与
# 正在春招的你,也参与了去年秋招吗? #
364158次浏览 2641人参与
# 腾讯音乐求职进展汇总 #
160820次浏览 1114人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务