0
点赞
收藏
分享

微信扫一扫

golang力扣leetcode 2024.考试的最大困扰度

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
}

举报

相关推荐

0 条评论