首页 > 其他分享 >2379. 得到 K 个黑块的最少涂色次数

2379. 得到 K 个黑块的最少涂色次数

时间:2023-03-09 12:24:43浏览次数:63  
标签:cnt 黑色 blocks 黑块 要么 2379 涂色 ans

给你一个长度为 n 下标从 0 开始的字符串 blocks ,blocks[i] 要么是 'W' 要么是 'B' ,表示第 i 块的颜色。字符 'W' 和 'B' 分别表示白色和黑色。

给你一个整数 k ,表示想要 连续 黑色块的数目。

每一次操作中,你可以选择一个白色块将它 涂成 黑色块。

请你返回至少出现 一次 连续 k 个黑色块的 最少 操作次数。

 

示例 1:

输入:blocks = "WBBWWBBWBW", k = 7
输出:3
解释:
一种得到 7 个连续黑色块的方法是把第 0 ,3 和 4 个块涂成黑色。
得到 blocks = "BBBBBBBWBW" 。
可以证明无法用少于 3 次操作得到 7 个连续的黑块。
所以我们返回 3 。
示例 2:

输入:blocks = "WBWBBBW", k = 2
输出:0
解释:
不需要任何操作,因为已经有 2 个连续的黑块。
所以我们返回 0 。
 

提示:

n == blocks.length
1 <= n <= 100
blocks[i] 要么是 'W' ,要么是 'B' 。
1 <= k <= n

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/minimum-recolors-to-get-k-consecutive-black-blocks
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

func minimumRecolors(blocks string, k int) int {
    cnt := strings.Count(blocks[:k], "W")
    ans := cnt
    for i := k; i < len(blocks); i++ {
        if blocks[i] == 'W' {
            cnt++
        }
        if blocks[i-k] == 'W' {
            cnt--
        }
        if ans > cnt {
            ans = cnt
        }
    }
    return ans
}

 

标签:cnt,黑色,blocks,黑块,要么,2379,涂色,ans
From: https://www.cnblogs.com/slowlydance2me/p/17197919.html

相关文章

  • 力扣---2379. 得到 K 个黑块的最少涂色次数
    给你一个长度为n下标从0开始的字符串blocks,blocks[i]要么是'W'要么是'B',表示第i块的颜色。字符'W'和'B'分别表示白色和黑色。给你一个整数k,表示想要连......
  • P4170 [CQOI2007]涂色(思维好题)
    P4170[CQOI2007]涂色-洛谷|计算机科学教育新生态(luogu.com.cn)设DP[i][j]为完成(i-j)区间的最少涂鸦次数。考虑dp[i][j]的转移:重点:如果s[i]==s[j],dp[i][j]=min(dp[......
  • word样式多级标题变成黑块/黑线
      我在写文档(客户给的word模板)时,突然发现3级标题内容,变成了竖线。使用网上查询的“按组合键『Ctrl+Shift+S』,打开『应用样式』对话框,点击『重新应用』”,问题虽然......
  • 涂满它!(涂色问题 (原题:水叮当的舞步))题解
    F.涂满它!内存限制:256MiB时间限制:1000ms标准输入输出题目类型:传统评测方式:文本比较题目描述Flood-it是谷歌+平台上的非常好玩的一款游戏,游戏界面如下所示:在......
  • CQOI2007,洛谷P4710涂色
    题目描述假设你有一条长度为\(5\)的木版,初始时没有涂过任何颜色。你希望把它的\(5\)个单位长度分别涂上红、绿、蓝、绿、红色,用一个长度为\(5\)的字符串表示这个目......
  • #yyds干货盘点# 动态规划专题:涂色PAINT
    1.简述:描述假设你有一条长度为5的木版,初始时没有涂过任何颜色。你希望把它的5个单位长度分别涂上红、绿、蓝、绿、红色,用一个长度为5的字符串表示这个目标:RGBGR。每次你可......
  • P4170 [CQOI2007]涂色
    #include<bits/stdc++.h>usingnamespacestd;#defineN111intf[N][N],n;charch[N];signedmain(){ memset(f,0x3f3f3f3f,sizeof(f)); scanf("%s",ch+1); n=st......
  • 02379计算机网络管理复习汇总01
    第1章网络管理概论一、网络管理系统的层次结构:  二、网络管理框架的共同特点:管理功能分为了管理站(Manager)和代理(Agent)两局部;为了存储管理信息提供数据库支持,例如......