双指针
package main
import "fmt"
func main() {
var str string
var length int
fmt.Scan(&str, &length)
var maxStart = 0
var maxNums = -1
var h, s int
var nums = 0
for h < len(str)-length+1 {
if str[s] == 'C' || str[s] == 'G' {
nums++
}
if s-h+1 == length {
if nums > maxNums {
maxNums = nums
maxStart = h
}
if str[h] == 'C' || str[h] == 'G' {
nums--
}
h++
}
s++
}
fmt.Println(str[maxStart : maxStart+length])
}

京公网安备 11010502036488号