题目:

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

结果:

解题思路:

我的算法真的复杂多了。。。虽然当时做出来了,但是。。。回头看看笨的可以。

先说说看了大佬们的写法优化后的思路:

1、由题可以知道我们计算的窗口大小为k

2、需要涂黑的模块就是k 中 白色的个数

因此,就可以滑动窗口计算其中白色的个数,将最少的返回就可以了

然后来说说我的思路:

emmm。。。不说了吧。。我感觉我也不知道自己是怎么想的了。总之是复杂化了。

代码:

这里就只记录学来的代码啦!!!

int minimumRecolors(char * blocks, int k){int len = strlen(blocks);int min = k;for (int i = 0; i + k <= len; i++) {int count = 0;for (int j = 0; j < k; j++) {if (blocks[i + j] =='W') {count++;}}min = count < min ? count : min;}return min;
}

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

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

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

  2. C练题笔记之:Leetcode-第 85 场双周赛---6158. 字母移位 II

    题目: 给你一个小写英文字母组成的字符串 s 和一个二维整数数组 shifts ,其中 shifts[i] = [starti, endi, directioni] .对于每个 i ,将 s 中从下标 ...

  3. C练题笔记之:Leetcode-第 85 场双周赛---6157. 二进制字符串重新安排顺序需要的时间

    emm...第一次参加比赛..着实看到了差距之大 题目: 给你一个二进制字符串 s .在一秒之中,所有 子字符串 "01" 同时 被替换成 "10" .这个过程 ...

  4. 以赛促练-力扣第85场双周赛以及第307场周赛

    文章目录 第85场双周赛 T3.字母移位II T4.删除操作后的最大子段和 第307场周赛 T2.最大回文数字 T3.感染二叉树需要的总时间 T4.找出数组的第K大和 第85场双周赛 T1直接暴力枚举 ...

  5. LeetCode第45场双周赛-解题报告

    LeetCode第45场双周赛-解题报告 A. 唯一元素的和 原题链接 https://leetcode-cn.com/problems/sum-of-unique-elements/ 解题思路 因为 ...

  6. Leetcode 第 69 场双周赛记录

    Leetcode 第 69 场双周赛记录 1.第一题 5960. 将标题首字母大写 难度:easy 给你一个字符串 title ,它由单个空格连接一个或多个单词组成,每个单词都只包含英文字母.请你按以 ...

  7. LeetCode 第 30 场双周赛(477/2545,前18.7%,第2次全部通过)

    文章目录 1. 比赛结果 2. 题目 1. LeetCode 5177. 转变日期格式 easy 2. LeetCode 5445. 子数组和排序后的区间和 medium 3. LeetCode 54 ...

  8. LeetCode 第 31 场双周赛(273/2767,前9.87%,第3次全部通过)

    文章目录 1. 比赛结果 2. 题目 1. LeetCode 5456. 在区间范围内统计奇数数目 easy 2. LeetCode 5457. 和为奇数的子数组数目 medium 3. LeetCo ...

  9. Java实现 LeetCode第30场双周赛 (题号5177,5445,5446,5447)

    这套题不算难,但是因为是昨天晚上太晚了,好久没有大晚上写过代码了,有点不适应,今天上午一看还是挺简单的 5177. 转变日期格式 给你一个字符串 date ,它的格式为 Day Month Year ...

最新文章

  1. 2030全球新出行产业报告:2.2万亿美元蛋糕将这样分
  2. MySql 隐式转换
  3. RabbitMQ(五):Exchange交换器--topic
  4. 面试基础算法、及编程 第一弹
  5. Shell教程----Shell脚本
  6. 3.2 Tensorflow基础运算
  7. 2022年考研计算机组成原理_6 总线
  8. 1.3 正则表达式和Python语言-1.3.5使用 search()在一个字符串中查找模式(搜索与匹配 的对比)...
  9. 计算机广告制作专业,计算机广告制作专业介绍
  10. 司机秘书:让司机省心的违章查询助手
  11. Recovery文件路径
  12. 实现内网穿透的两种方式
  13. 服务器装机选哪个系统好,服务器该装08系统好还是03系统好?
  14. 使用基于ggplot2的包ggalluvial绘制桑基图(冲积图)
  15. 水星路由器短信认证配置流程
  16. 2W字!梳理50道经典计算机网络面试题(收藏版)
  17. cesium中实现鼠标拖动实体功能
  18. 京东开源asyncTool之线程编排
  19. 浙江大学 工程伦理 第四章 工程规范与责任
  20. 构建私有云时,需要考虑哪些问题?

热门文章

  1. base6 python 字节_Python之Base64加解密
  2. AEC-Q100和ISO26262 ASIL-B双重认证
  3. 摄影测量航带设计程序
  4. websphere上使用c3p0报错解决
  5. Vimeo高级API:使用SCRIBE在JAVA中搜索公共视频
  6. skia android编译错误解决
  7. java imageicon大小_Java 自动缩放ImageIcon到标签大小
  8. 1.5数学基础-概率计算
  9. Echarts饼图,环形图,鼠标触碰后取消默认放大效果
  10. 面试测试开发工程师:用例篇