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

给你一个长度为 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 。


C代码:滑动窗口长度固定、求最小cnt

// 滑动窗口的长度固定,记录W的个数cnt = fmin(cnt, curCnt);
int minimumRecolors(char * blocks, int k){int cnt = 0;int curCnt = 0;int len = strlen(blocks);for (int i = 0; i < k; ++i) {if ('W' == blocks[i]) {++curCnt;}}cnt = curCnt;for (int i = k, l = 0; i < len; ++i, ++l) {if ('W' == blocks[i]) {++curCnt;}if ('W' == blocks[l]) {--curCnt;}cnt = fmin(cnt, curCnt);}return cnt;
}

2379. 得到 K 个黑块的最少涂色次数相关推荐

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

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

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

    leetcode 2379. 得到 K 个黑块的最少涂色次数 给你一个长度为 n 下标从 0 开始的字符串 blocks ,blocks[i] 要么是 'W' 要么是 'B' ,表示第 i 块的颜色. ...

  3. C练题笔记之:Leetcode-第 85 场双周赛---6156. 得到 K 个黑块的最少涂色次数

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

  4. iOS 解决导航栏pop返回时出现黑块问题!

    iOS 解决导航栏pop返回时出现黑块问题! 问题描述: 导航栏正常从A页面push到B页面,从B页面pop返回A页面时遇到过渡过程中导航栏出现黑块的问题. 如截图所示: 问题原因: A界面导航栏被影 ...

  5. android屏幕底部黑块,Android surfaceView 黑块问题

    很多Android机上会出现surfaceView结束播放后,出现概率的黑块,典型的解决方案 setZOrderMediaOverlay(false); setZorderTop(false); /* ...

  6. word2010多级列表编号变成黑块的解决方案

    为什么80%的码农都做不了架构师?>>>    1.在文档最后键入多行文字,分别设置为和多级列表关联的样式.(依然显示黑块) 2.选择新键入的这部面文字,先选择多级列表的无,然后再选 ...

  7. Leetcode1703. 得到连续 K 个 1 的最少相邻交换次数[C++题解]:难(货仓选址加强版+滑动窗口+前缀和)

    文章目录 题目分析 题目链接 题目分析 首先需要明确一点:最优结果中1的相对位置和开始时不会改变.否则的话就是交换两个1,会徒劳增加交换次数. 比如[1,0,0,0,0,0,1,1],最后变成[0,0 ...

  8. Android版CCLabelTTF在setstring时出现黑块

    首先有个前提知识,cocos2dx里,只能在ui线程(通常也就是主线程)中进行渲染工作(貌似现在有一些引擎是支持多线程渲染的,没有深入研究),否则大约会因为多个线程同时给GPU发指令而出现问题,比如s ...

  9. GenseeSDK DocView(OpenGL)引起的TextView显示黑块

    现象 先上图: 正常的图: 来到这的大侠是否也出现了同样的问题. 操作与描述 退出直播播放器后,整个app界面所有的TextView(EditText/Button)都显示为黑块. 快速解决 退出直播 ...

最新文章

  1. Git教程学习(一)
  2. .net中关键字new的用法
  3. 新闻网大数据实时分析可视化系统项目——7、Kafka分布式集群部署
  4. Delphi IDE使用的一些主要技巧
  5. 实验人员考评指标_了解实验指标
  6. Swift - 数组排序方法(附样例)
  7. ruby array_Ruby中带有示例的Array.delete_if方法
  8. Visual Studio 2008 每日提示(一)
  9. 3.数据结构 --- 栈和队列
  10. 让计算机u盘启动,如何让vmware用u盘启动
  11. 应用程序正常初始化(0xc000007b)失败,请单击“确定”,终止应用程序的问题处理
  12. Flutter各种虚线实战和虚线边框原理
  13. 【Auto.js教程】Auto.js入门及第一个示例程序
  14. 杭电1048 The Hardest Problem Ever
  15. linux系列:/proc/pid
  16. pyspark steaming 连接kafka数据实时处理(也可以对接flume+kafka+spark)
  17. python正弦函数拟合_python生成任意频率正弦波方式
  18. C语言学习之选择结构程序设计总结
  19. (c语言)兔子繁衍问题
  20. python result用法_python使用小技巧

热门文章

  1. Python 一个漂亮的音乐节奏可视化方案
  2. 我们要不要和to B“霸王龙”企业交朋友?
  3. 开发工业应用所需具备的技能,你掌握多少?
  4. 论文阅读|《面向多目标柔性作业车间调度的强化学习NSGA-Ⅱ算法》
  5. android10 三星升级计划,三星公布Android 10.0国行升级计划:规模庞大
  6. 阿里云-邮件推送 配置 购买域名 配置域名
  7. 动物实验,如何设置对照?
  8. 操作系统之页面置换算法(FIFO、LFU、LRU、OPT算法)
  9. 软件测试实习生(月薪3k-5k)需要具备哪些技能才能找到工作?
  10. 小红书账号分析丨千瓜指数高的小红书账号是否真的优质?