华为OD机试真题 Java 实现【递增字符串】【2023Q1 200分】,附详细解题思路

news/2024/11/24 1:47:54/

在这里插入图片描述

一、题目描述

定义字符串完全由“A’和B"组成,当然也可以全是"A"或全是"B。如果字符串从前往后都是以字典序排列的,那么我们称之为严格递增字符串。

给出一个字符串5,允许修改字符串中的任意字符,即可以将任何的"A"修改成"B,也可以将任何的"B"修改成”A,求可以使s满足严格递增的最小修改次数。0<s的长度<100000。

二、输入描述

输入一个宁符串:“AABBA”。

三、输出描述

修改最后一位得到AABBB。

四、解题思路

  1. 记录前一个位置的修改次数;
  2. 遍历字符数组chars,对每个字符进行判断;
  3. 如果当前字符是B,则表示需要将其修改为A,此时pre1+1;
  4. 如果为A,则表示需要将其修改为B,此时pre2更新为pre1和pre2中的较小值加1;
  5. 取pre1和pre2中的较小值,即为字符串满足严格递增的最小修改次数;

五、Java算法源码

public static void main(String[] args) {Scanner sc = new Scanner(System.in);String line = sc.nextLine();char[] chars = line.toCharArray();// 1、记录前一个位置的修改次数int pre1 = 0;int pre2 = 0;// 2、遍历字符数组chars,对每个字符进行判断for (int i = 0; i < chars.length; i++) {char currChar = chars[i];int a = pre1;int b = Math.min(pre1, pre2);// 3、如果当前字符是B,则表示需要将其修改为A,此时pre1+1if (currChar == 'B') {a++;}else {// 4、如果为A,则表示需要将其修改为B,此时pre2更新为pre1和pre2中的较小值加1b++;}pre1 = a;pre2 = b;}// 5、取pre1和pre2中的较小值,即为字符串满足严格递增的最小修改次数int min = Math.min(pre1, pre2);System.out.println(min);
}

六、效果展示

1、输入

AABBA

2、输出

1

在这里插入图片描述


🏆下一篇:华为OD机试真题 Java 实现【获得完美走位】【2023Q1 100分】

🏆本文收录于,华为OD机试(JAVA)(2022&2023)

本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。

在这里插入图片描述


http://www.ppmy.cn/news/102557.html

相关文章

某SRC的渗透测试实战

前言 因为不甘心被称作会只点鼠标的猴子&#xff0c;所以开始了一次某SRC漏洞挖掘&#xff0c;为期一个多星期。文章有点长&#xff0c;但请耐心看完&#xff0c;记录了完整的SRC漏洞挖掘实战 渗透过程 因为选择的幸运儿没有对测试范围进行规划&#xff0c;所以此次范围就是…

斑梨电子Air101开发板LuatOS XT804内核QFN32支持128x160分辨率

spotpear.cn/index/product/detail/id/1332.html detail.tmall.com/item.htm?id719888144249 【产品简介】 [] Air101开发板使用Air101处理器&#xff0c;内置2MFlash和176KLuatOS专属RAM&#xff0c;最高主频可以达到240MHz,采用QFN32封装&#xff0c;18组GPIO可用。开发板…

Linux压缩和归档命令的速查表

在Linux系统中&#xff0c;有多种命令可用于压缩和归档文件和目录。这些命令使我们能够将文件和目录打包成单个文件&#xff0c;并可以选择压缩以节省存储空间。本文将提供一个Linux压缩和归档命令的速查表&#xff0c;帮助您快速查找和了解各种常用命令及其用法。 压缩文件和目…

如何在 Linux 中进行网络地址转换 (NAT)?

网络地址转换&#xff08;Network Address Translation&#xff0c;简称NAT&#xff09;是一种在网络中使用的技术&#xff0c;它允许将私有网络中的IP地址映射到公共网络上&#xff0c;从而实现多个设备共享单个公共IP地址。在Linux系统中&#xff0c;我们可以使用一些工具和配…

实验篇(7.2) 04. 映射服务器到公网IP 远程访问 ❀ Fortinet网络安全专家 NSE4

【简介】由于服务器的IP是内网地址&#xff0c;所以无法从公网直接访问服务器。要想远程访问服务器&#xff0c;最简单的办法就是将服务器映射到公网IP&#xff0c;然后通过公网IP加端口号的方式进行访问。 实验要求与环境 OldMei集团深圳总部部署了一台服务器&#xff0c;用来…

ctfshow 每周大挑战 RCE极限挑战3

目录 题目源码1 跑一下正则2 分析解题用什么payload3 构造payload如何获取字母N构造出_POST及其他拼接内容POST传参 4 完整解题payload 题目源码 1 跑一下正则 <?php for($i32;$i<127;$i){if (!preg_match("/[a-zA-Z2-9!#%^&*:{}\-<\?>\"|~\\\\]/…

OceanMind海睿思入选《2023中国企业数智化转型全景图中国数据智能产业图谱》

近日&#xff0c;国内知名大数据产业创新服务媒体数据猿携手上海大数据联盟发布了《2023中国企业数智化转型升级服务全景图/产业图谱》和《2023中国数据智能产业图谱》。 两份图谱系统梳理了中国数智化转型升级及数据智能行业发展现状和脉络&#xff0c;评选出极具商业合作价值…

【收藏】麻省理工:如何选择和设计论文的Figure?

论文中的图表以独有的方式组织信息&#xff0c;更好地传递作者思想。那么&#xff0c;如何选择和设计合适的Figure&#xff1f; MIT Communication Lab&#xff08;麻省理工学院通信实验室&#xff09;为作者提供了有效的建议&#xff0c;我们来学习一下 ~ 01 数据图 在制作数…