题解 | #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))

    }
});

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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