题解 | #DNA序列#
DNA序列
https://www.nowcoder.com/practice/e8480ed7501640709354db1cc4ffd42a
package main import ( "fmt" ) func calculateGC(s string) int { var cnt int for i:=0; i<len(s); i++ { if s[i] == 'G' || s[i] == 'C' { cnt++ } } return cnt } func findLongestStr(s string, k int) string { size := len(s) var maxCountGC int var longSubStr string for i:=0; i<=size-k; i++ { countGC := calculateGC(s[i:i+k]) if countGC > maxCountGC { longSubStr = s[i:i+k] maxCountGC = countGC } } return longSubStr } func main() { var s string var k int fmt.Scan(&s, &k) fmt.Println(findLongestStr(s, k)) }
// 本题输入为一个整数和一个字符串,所以采用:fmt.Scan(&s, &k)