当前位置: 首页 > news >正文

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

题目

给你一个长度为 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.mrgr.cn/news/54074.html

相关文章:

  • expressjs 如何记录操作日志
  • A Graph-Transformer for Whole SlideImage Classification文献笔记
  • 【MySQL】提高篇—事务管理:事务隔离级别的介绍
  • Array数组
  • Axure复选框全选反选取消高级交互
  • 多IP连接
  • springboot036海滨体育馆管理系统的设计与实现(论文+源码)_kaic
  • 【进阶OpenCV】 (20) --疲劳检测
  • 6-2.Android 对话框之基础对话框问题清单(UI 线程问题、外部取消、冲突问题、dismiss 方法与 hide 方法)
  • 数据结构之单链表
  • 2063:【例1.4】牛吃牧草
  • CSDN Markdown 编辑器语法大全
  • 商​汤​二​面
  • 餐饮店怎么标注地图位置信息?
  • 2062:【例1.3】电影票
  • 48.旋转图像
  • FloodFill 算法(DFS)
  • [C++] C++类和对象 类的初始化列表和静态成员 类型转换/友元/内部类/匿名对象/编译器优化
  • Symbol简单介绍
  • 【电子通识】案例:两个按键同时按下把boot拉低电路如何设计?
  • VIT:论文关键点解读与常见疑问
  • mac安装jdk8
  • Linux——应用软件的生命周期
  • 0x3D service
  • 监督学习、无监督学习、半监督学习、强化学习、迁移学习、集成学习分别是什么对应什么应用场景
  • ReLitLRM: Generative Relightable Radiance for Large Reconstruction Models 论文解读