1653. 使字符串平衡的最少删除次数

1653. 使字符串平衡的最少删除次数

题目

链接:使字符串平衡的最少删除次数
在这里插入图片描述

题解

class Solution {public int minimumDeletions(String s) {int left=0,right=0;int n=s.length();for(int i=0;i<n;i++){if(s.charAt(i)=='a'){right++;}}int res=right;for(int i=0;i<s.length();i++){if(s.charAt(i)=='a'){right--;}else{left++;}res=Math.min(res,left+right);}return res;}
}

通过思考可以发现这题无非三种情况:

  1. 全是a
  2. 全是b
  3. 有a有b
    前两种都很好解决,问题是第三种,我们可以遍历一遍,输出有几个a,记录,然后在遍历数组,如果找到一个a就减少一次,否则数b有几个。
    然后就可以比较是全留a还是选择删除的次数少了。
    而第 3 种情况,可以在原字符串相邻的两个字符之间划一条间隔,删除间隔左侧所有的 “b” 和间隔右侧所有的 “a” 即可达到。用 left b 表示间隔左侧的 “b” 的数目,right a表示间隔左侧的 “a” 的数目,left b+right a 即为当前划分的间隔下最少需要删除的字符数。这样的间隔一共有 n−1种,其中 n 是 s 的长度。遍历字符串 s,即可以遍历 n−1 种间隔,同时更新 left b 和 right a 的数目。

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

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

相关文章

基于数据沙箱与LLM用例自愈的UI自动化测试平台

UI自动化测试能够在一定程度上确保产品质量&#xff0c;尤其在降本提效的大背景下&#xff0c;其重要性愈发凸显。理想情况下&#xff0c;UI自动化测试不仅能够能帮我们规避不少线上问题&#xff0c;又能加快产品上线速度。然而现实却往往相去甚远&#xff0c;在多数情况下&…

Mac资源库的东西可以删除吗?mac资源库在哪里打开 cleanmymacx是什么 cleanmymac免费下载

在使用Mac电脑的过程中&#xff0c;用户可能会遇到存储空间不足的问题。一种解决方法是清理不必要的文件&#xff0c;其中资源库&#xff08;Library&#xff09;文件夹是一个常被提及但又让人迷惑的目标。Mac资源库的东西可以删除吗&#xff1f;本文旨在解释Mac资源库的作用、…

HTML — 弹性布局(2)

弹性布局的其他属性 1. order 决定弹性项目&#xff08;flex item&#xff09;的排列顺序&#xff0c;使用较少&#xff0c;默认为0 。 order 的值可以为任意整数&#xff08;正整数或负整数均可&#xff0c;也可为0&#xff09;&#xff0c;数值越小越排在前面。 2. align-s…

公开课学习——JVM虚拟机面试核心点与性能优化点

文章目录 jdk的体系结构图Java语言的跨平台的特性&#xff0c;怎么实现的&#xff1f;jvm内部组成呢&#xff1f;pc的值怎么变得&#xff1f;main方法的栈帧有一点点区别&#xff0c;Math()是new出来的&#xff0c;放在堆区&#xff0c;这个堆区的math和我们栈帧中的局部变量表…

37-代码测试(下):Go语言其他测试类型及IAM测试介绍

。 Go中的两类测试&#xff1a;单元测试和性能测试。 我就来介绍下Go 语言中的其他测试类型&#xff1a;示例测试、TestMain函数、Mock测试、Fake测试等&#xff0c; 示例测试 示例测试以Example开头&#xff0c;没有输入和返回参数&#xff0c;通常保存在example_test.go…

心态有点崩

难道二本真的没出路么&#xff0c;对&#xff0c;没出路。。 但是真的不建议跟别人比&#xff0c;因为当你发现身边的人拿到offer&#xff0c;身边人家境非常好&#xff0c;身边人参与个抽奖能抽ipad&#xff0c;身边好兄弟找到女朋友&#xff0c;身边人考研成功&#xff0c;身…

屏幕距离识别加语音提醒

效果 QQ录屏20240406131651 语音播放 import pygame pygame.mixer.init() #初始化 pygame.mixer.music.load(r"7359.wav") #文件位置 pygame.mixer.music.play(1) #播放语音 while pygame.mixer.music.get_busy(): # 在音频播放为完成之前不退出程序pass 完…

Session

文章目录 1.Session基本介绍1.Session有什么用?2.Session基本原理3.Session可以做什么&#xff1f;4.如何理解Session&#xff1f;5. Session基本使用 2.Session底层机制1.示意图2.创建session底层机制1.有sessionid&#xff0c;但没session对象1.由于访问了jsp的主页面&#…

SpringMVC参数绑定

参数绑定 数据绑定是一个自动转换及赋值的过程&#xff0c;它负责将 HTTP 请求中的 String 类型的参数&#xff0c;转换为其他类型的请求处理方法的参数。 1. 绑定简单类型 当 HTTP 请求的参数名和处理方法参名一致时&#xff0c;SpringMVC 会将请求参数与形参进行绑定。 参…

vue实现富文本编辑器的具体方法

可以实现富文本的插件&#xff1a;vue-quill-editor、editor-for-vue 我们以 editor-for-vue 为例实现&#xff1a; 传送门&#xff1a;wangEditor官网地址 安装&#xff1a; npm install wangeditor/editor --save npm install wangeditor/editor-for-vue --save具体使用方…

分布式锁的原子性问题

4.6 分布式锁的原子性问题 更为极端的误删逻辑说明&#xff1a; 线程1现在持有锁之后&#xff0c;在执行业务逻辑过程中&#xff0c;他正准备删除锁&#xff0c;而且已经走到了条件判断的过程中&#xff0c;比如他已经拿到了当前这把锁确实是属于他自己的&#xff0c;正准备删…

【matlab非线性规划工具箱安装2 GloptiPoly 3.10工具箱】

【matlab非线性规划工具箱安装2 GloptiPoly 3.10工具箱】 该博客是非线性手眼标定代码中所依赖的matlab工具箱的安装内容&#xff0c;除了进行手眼标定以外&#xff0c;该工具箱还可以用于其他的非线性规划问题 在安装该工具箱之前请先安装SeDuMi 手眼标定传送门&#xff1a…

实验案例一:交换机的初始配置

1、实验环境 实验用具包括一台 Cisco 交换机&#xff0c;一台 PC&#xff0c;一根 Console 线缆。 2、需求描述 如图 5.17 所示&#xff0c;实验案例一的配置需求如下。 通过 PC 连接并配置一台 Cisco 交换机在交换机的各个配置模式之间切换将交换机主机的名称改为 BDON 3、…

上门服务小程序|上门服务系统|上门服务软件开发流程

在如今快节奏的生活中&#xff0c;上门服务小程序的需求越来越多。它们向用户提供了方便、高效的服务方式&#xff0c;解决了传统服务行业中的很多痛点。如果你也想开发一个上门服务小程序&#xff0c;以下是开发流程和需要注意的事项。 1、确定需求&#xff1a;在开始开发之前…

[C++][算法基础]排列数字(DFS)

给定一个整数 n&#xff0c;将数字 1∼n 排成一排&#xff0c;将会有很多种排列方法。 现在&#xff0c;请你按照字典序将所有的排列方法输出。 输入格式 共一行&#xff0c;包含一个整数 n。 输出格式 按字典序输出所有排列方案&#xff0c;每个方案占一行。 数据范围 …

✌2024/4/3—力扣—整数反转

代码实现&#xff1a; int reverse(int x) {long num 0;while (x ! 0) {num num * 10 x % 10;x x / 10;}if ((int)num ! num) {return 0;}return (int)num; }

Spring Cloud微服务入门(五)

Sentinel的安装与使用 安装部署Sentinel 下载Sentinel&#xff1a; https://github.com/alibaba/Sentinel/releases Sentinel控制台 https://localhost:8080 用户和密码为sentinel 使用Sentinel 加依赖&#xff1a; 写配置&#xff1a; 输入&#xff1a; java -Dserver.po…

UI自动化测试-pytest框架

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

Lua热更新(AssetBundle)

AssetBundle 新版本导入ab包报错,则删除其中的Tests文件夹。 给资源分组 打包设置:平台、路径、重复打包清空文件夹、复制到streaming文件夹 建议勾选 建议使用LZ4压缩方式 用来观察文件中的包大小,不常用 参数总结: 这六个只做了解,重要的是上面的

深入解析Cookie、Session以及Token原理

一、概述 1.1 HTTP无状态问题 目前主流的服务采用的是B\S架构&#xff0c;即浏览器\服务端架构。一般采用的协议是HTTP&#xff0c;HTTP有个特点是无状态&#xff0c;即在一次连接&#xff0c;两次成功请求之间没有任何的关系。这个特性既带来了一定的优点&#xff0c;在某些…