题解 | #DNA序列#

DNA序列

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

const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

let s = ''
let n = 0
let row = 0

rl.on('line', function (line) {
    row++
    if(row === 1){
        // 保存要操作的字符串
        s = line
    }else {
        // 保存子串长度
        n = Number(line)
        // 使用功能滑动窗口法遍历
        let left = 0
        let right = left + n - 1
        let max  = 0
        // 记录窗口左右的下标,以便后期截取子串
        let [i,j] = [left, right]
        while(right < s.length){
            // 计算cg的数量
            let num = 0
            for(let i = left; i <= right; i++){
                if(s[i] === 'C' || s[i] === 'G')    num++
            }

            if(num/s.length > max){
                max = num/s.length;
                [i,j] = [left, right]
            }

            left++
            right++
        }

        console.log(s.slice(i,j +1))

    }
});

全部评论

相关推荐

08-15 18:44
门头沟学院 Java
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
08-13 17:06
工作未能按时完成,有bug,leader晚上边帮我改边骂比如:你好蠢啊你好笨啊学在学校都怎么学的你是不是不适合干开发啊……之类的啊……我真的会这么笨吗🙃
金俊涛:实习而已啦,没必要把他们话放在心上,多积累经验,多提升自己才是真的。至于业绩关你吊事,干俩月就走了,谁也怪不到你一个实习生身上
实习的内耗时刻
点赞 评论 收藏
分享
已经麻木了...
投递小米集团等公司8个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务