2024.考试的最大困扰度
2024.考试的最大困扰度
2024.考试的最大困扰度
题解
滑动窗口模板题
代码
package main
//右指针右移之后窗口数据更新
//判断窗口是否要收缩
//左指针右移之后窗口数据更新
//根据题意计算结果
func maxConsecutiveAnswers(answerKey string, k int) int {
return max(window(answerKey, k, 'T'), window(answerKey, k, 'F'))
}
func window(s string, k int, ch uint8) (ans int) {
left := 0
sum := 0
for right := range s {
if s[right] != ch {
sum++
}
for sum > k {
if s[left] == ch {
sum--
}
left++
}
ans = max(ans, right-left+1)
}
return
}
func max(i, j int) int {
if i > j {
return i
}
return j
}