Rust 力扣 - 2379. 得到 K 个黑块的最少涂色次数

news2024/11/23 12:00:03

文章目录

  • 题目描述
  • 题解思路
  • 题解代码
  • 题目链接

题目描述

在这里插入图片描述

题解思路

本题可以转换为求长度为k的子数组中白色块的最少数量

我们遍历长度为k的窗口,我们只需要记录窗口内的白色块的数量即可,遍历过程中刷新白色块的数量的最小值

题解代码

impl Solution {
    pub fn minimum_recolors(blocks: String, k: i32) -> i32 {
        let blocks = blocks.as_bytes();

        let mut sum = 0;

        for i in 0..k as usize {
            if blocks[i] == b'W' {
                sum += 1;
            }
        }

        let mut min_sum = sum;

        for i in k as usize..blocks.len() {
            if blocks[i] == b'W' {
                sum += 1;
            }

            if blocks[i-k as usize] == b'W' {
                sum -= 1;
            }

            min_sum = min_sum.min(sum);
        }

        min_sum
    }
}

题目链接

https://leetcode.cn/problems/minimum-recolors-to-get-k-consecutive-black-blocks/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2230064.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Git创建和拉取项目分支的应用以及Gitlab太占内存,如何配置降低gitlab内存占用进行优化

一、Git创建和拉取项目分支的应用 1. 关于git创建分支, git创建分支,可以通过git管理平台可视化操作创建,也可以通过git bash命令行下创建: A. 是通过git管理平台创建: 进入gitlab管理平台具体的目标项目中&#xff…

ubuntu-开机黑屏问题快速解决方法

开机黑屏一般是由于显卡驱动出现问题导致。 快速解决方法: 通过ubuntu高级选项->recovery模式->resume->按esc即可进入recovery模式,进去后重装显卡驱动,重启即可解决。附加问题:ubuntu的默认显示管理器是gdm3,如果重…

《高频电子线路》 —— 反馈型振荡器

文章内容来源于【中国大学MOOC 华中科技大学通信(高频)电子线路精品公开课】,此篇文章仅作为笔记分享。 反馈型振荡器基本工作原理 振荡器分类 自激:没有信号输入他激:有信号输入RC振荡器主要产生低频的正弦波&#x…

unity发布webGL

1.安装WebGL板块 打开unity,进入该界面,然后选择圈中图标 选择添加模块 选择下载WebGL Build Support 2.配置项目设置 打开一个unity项目,如图进行选择 如图进行操作 根据自己的情况进行配置(也可直接点击构建和运行&#xff09…

nodejs批量修改word文档目录样式

工作中遇到一个需求:写个nodejs脚本,对word文档(1000+个)的目录页面进行美化。实现过程遇到不少麻烦,在此分享下。 整体思路 众所周知,Docx格式的Word文档其实是个以xml文件为主的zip压缩包,所以,页面美化整体思路是:先将文档后缀名改为zip并解压到本地,然后将关键的…

c++仿函数--通俗易懂

1.仿函数是什么 仿函数也叫函数对象,是一种可以像函数一样被调用的对象。从编程实现的角度看,它是一个类,不过这个类重载了函数调用运算符() class Add { public:int operator()(int a, int b) {return a b;} }; 注意:使用的时…

玩转Docker | Docker基础入门与常用命令指南

玩转Docker | Docker基础入门与常用命令指南 引言基本概念help帮助信息常用命令管理镜像运行容器构建镜像其他Docker命令整理结语引言 Docker 是一种开源的应用容器引擎,它允许开发者将应用程序及其依赖打包进一个可移植的容器中,然后发布到任何流行的 Linux 机器上。这大大简…

【机器学习】22. 聚类cluster - K-means

聚类cluster - K-means 1. 定义2. 测量数据点之间的相似性3. Centroid and medoid4. Cluster之间距离的测量方式5. 聚类算法的类别6. K-mean7. 如何解决中心初始化带来的影响8. K-means问题:处理空集群9. 离群值的问题10. Bisecting K-means(二分K-means…

wsl2.0(windows linux子系统)使用流程

1.什么是wsl wsl指的是windows的linux子系统,最初是wsl1.0,靠windows内核来模拟linux内核,并不运行真正的linux内核,所以有时会有兼容性的问题。 而wsl2.0是基于windows自带的虚拟机功能hyper-v的,它会把设备上的每个…

大数据新视界 -- 大数据大厂之数据质量管理全景洞察:从荆棘挑战到辉煌策略与前沿曙光

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

硅谷甄选(11)角色管理

角色管理模块 10.1 角色管理模块静态搭建 还是熟悉的组件&#xff1a;el-card、el-table 、el-pagination、el-form <template><el-card><el-form :inline"true" class"form"><el-form-item label"职位搜索"><el-…

这5个堪称每日必看的网站,你都有所了解吗?

身为一名出色的UI设计师&#xff0c;能够迅速捕捉灵感、始终保持敏锐的审美眼光以及时刻洞悉行业动态&#xff0c;无疑是必备的职业素养与技能。今儿个小编就特意为各位小伙伴精心梳理了一些UI设计师绝对不容错过的绝佳网站哦。通过浏览这些网站&#xff0c;大家可以第一时间掌…

安全成为大模型的核心;大模型安全的途径:大模型对齐

目录 安全成为大模型的核心 大模型安全的途径:大模型对齐 人类反馈强化学习(RLHF) 直接偏好优化(DPO) 安全成为大模型的核心 大模型安全的途径:大模型对齐 大模型对齐技术(Alignment Techniques for Large Language Models)是确保大规模语言模型(例如GPT-4)的输…

<项目代码>YOLOv8 煤矸石识别<目标检测>

YOLOv8是一种单阶段&#xff08;one-stage&#xff09;检测算法&#xff0c;它将目标检测问题转化为一个回归问题&#xff0c;能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法&#xff08;如Faster R-CNN&#xff09;&#xff0c;YOLOv8具有更高的…

练习LabVIEW第三十题

学习目标&#xff1a; 刚学了LabVIEW&#xff0c;在网上找了些题&#xff0c;练习一下LabVIEW&#xff0c;有不对不好不足的地方欢迎指正&#xff01; 第三十题&#xff1a; 用labview写一个获取当前系统时间的程序 开始编写&#xff1a; 前面板添加一个字符串显示控件&am…

NVR设备ONVIF接入平台EasyCVR视频分析设备平台视频质量诊断技术与能力

视频诊断技术是一种智能化的视频故障分析与预警系统&#xff0c;NVR设备ONVIF接入平台EasyCVR通过对前端设备传回的码流进行解码以及图像质量评估&#xff0c;对视频图像中存在的质量问题进行智能分析、判断和预警。这项技术在安防监控领域尤为重要&#xff0c;因为它能够确保监…

springboot框架使用mybatis-plus3.5.1以下版本的代码生成器工具类

我们在使用springboot 框架 和mybatis-plus 开发web项目的时候&#xff0c;像 控制器 这类的文件 有了这个基于mybatis-plus 的 代码生成器 我们就不必自己创建了 &#xff0c;直接执行后 自动帮我们生成好控制器、服务处、实现层 等等 非常的方便 。 废话不多说&#xff0c;还…

价值为王,浅析基础大模型行业应用创新发展新路径

在2024年7月的世界人工智能大会&#xff08;WAIC&#xff09;上&#xff0c;百度董事长兼首席执行官李彦宏关于大模型的演讲引起了广泛关注。他在演讲中强调了大模型应用的重要性&#xff0c;并提出了一个观点&#xff1a;“没有应用的大模型一文不值”。这一观点直指当前人工智…

Linux中部署PostgreSQL保姆级教程

一、版本说明 本文采用的版本号是postgresql-14.4。 官网资源包下载地址&#xff1a;PostgreSQL: File Browser 二、安装前的准备 2.1安装依赖 2.1.1安装编译工具 yum install -y gcc gcc-c这个命令安装了 GNU 编译器集合&#xff08;gcc&#xff09;和 GNU C 编译器&#x…

11月1日笔记(UAC绕过)

Bypass UAC 用户账户控制(User Account Control&#xff0c;UAC)是 Windows 操作系统采用的一种控制机制&#xff0c;可以阻止自动安装未经授权的应用并防止意外更改系统设置&#xff0c;有助于防止恶意软件损坏计算机。用户账户控制使应用程序和任务始终在非管理员账户的安全…