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

ops/2024/10/22 3:29:03/

题目

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

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

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

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

思路:定长滑动窗口  入  更新  出

代码

class Solution {public int minimumRecolors(String blocks, int k) {int n = blocks.length();char[] block = blocks.toCharArray();int ans = 0;int num = 0;for (int i = 0; i < n; i++) {if (block[i] == 'B')num++;if (i < k - 1)continue;ans = Math.max(ans, num);if (block[i - k + 1] == 'B')num--;}return k - ans;}
}

性能

时间复杂度o(n)

空间复杂度o(1)


http://www.ppmy.cn/ops/127465.html

相关文章

力扣3191.使二进制数全变成1

给你一个二进制数组 nums 。 你可以对数组执行以下操作 任意 次&#xff08;也可以 0 次&#xff09;&#xff1a; 选择数组中 任意连续 3 个元素&#xff0c;并将它们 全部反转 。 反转 一个元素指的是将它的值从 0 变 1 &#xff0c;或者从 1 变 0 。 请你返回将 nums 中…

Java笔试05

在Java中&#xff0c;final 关键字可以用于修饰类、方法和变量&#xff1a; 修饰类&#xff1a; 被 final 修饰的类不能被继承&#xff0c;即不能有子类。这通常用于工具类或者不希望被扩展的类。 修饰方法&#xff1a; 被 final 修饰的方法不能被子类覆盖。这通常用于确保类…

【软件测试: jmeter工具】OS进程取样器调用python

在jmeter中有时候需要调用自定义函数进行加密、解密等拓展功能 本文通过识别验证码处理登录验证码为例&#xff0c;通过OS进程取样器&#xff0c;调用python函数实现 识别验证码的python函数源码 import base64 from io import BytesIO from PIL import Image import sys im…

2.链表(代码随想录——python版本)

2.链表&#xff08;代码随想录——python版本&#xff09; 链表的概念&#xff1a; 链表是由指针串联在一起的线性结构&#xff0c;一个节点&#xff08;node&#xff09;由两部分组成&#xff1a; 数据域——用来存储数据&#xff1b;指针域——用来指向下一个节点&#xf…

网站分享 | 有用经验,干货满满!

这个网站涵盖了各个领域的经验分享。有用经验所提供的每一条经验均经过人工精心甄选&#xff0c;着重强调内容的质量以及实用性&#xff0c;以此来确保内容具有可靠性。 &#x1f4bc;这里有各种职场攻略&#xff0c;从简历制作到面试技巧&#xff0c;再到职场人际关系处理&a…

携程线下一面,面试内容:

面试时间&#xff1a;2024/9/12 • 实例方法和静态方法有什么不一样? • Java中的异常有哪几类?分别怎么使用? • 常用的集合类有哪些?比如List如何排序? • ArrayList和LinkedList内部的实现大致是怎样的?他们之间的区别和各自适应的场景是什么? • 内存溢出是怎么…

Qt获取磁盘信息+表格显示

效果展示 主要代码 获取磁盘相关数据 获取磁盘数据 Qt 没有提供相关的接口&#xff0c;需要使用 Windows API。接口解释如下&#xff1a; BOOL GetDiskFreeSpaceExW([in, optional] LPCWSTR lpDirectoryName,[out, optional] PULARGE_INTEGER lpFreeBytesAvailable…

大贤3D家谱-视图操作

在大贤家谱2025-3D中&#xff0c;您将体验到前所未有的家谱浏览方式。软件打破传统纸质家谱的局限&#xff0c;通过动态的三维展示&#xff0c;让信息更加直观且易于理解。 1. 自由浏览家谱​ 旋转、放大、缩小和平移&#xff1a;左键旋转&#xff0c;右键平移&#xff0c;滚…