华为OD机试-严格递增字符串-2022Q4 A卷-Py/Java/JS

news/2024/11/28 19:03:48/

定义字符串完全由,A"和"B"组成,当然也可以全是A"或全是"B”。如果字符串从前往后都是以字典序排列的,那么我们称之为严格递增字符串。
给出一个字符串s,允许修改字符串中的任意字符,即可以将任何的"A"修改成”B',也可以将任何的"B"修改成”A,求可以使s满足严格递增的最小修改次数。0<s的长度<100000。
输入描述:
输入一个字符串
输出描述:
输出一个整数表示最小修改次数
示例1
输入:
AABBA
输出:

1

说明:调整最后的一位A即可

Java 代码

import java.util.Scanner;
import java.util.*;
import java.util.stream.Collectors;
import java.math.BigInteger;
import java.util.stream.Stream;class Main {public static void main(String[] args) {// 处理输入Scanner in = new Scanner(System.in);String input_str = in.nextLine();System.out.println(minFlipsMonoIncr(input_str));}public static int minFlipsMonoIncr(String s) {int n = s.length();int dp0 = 0, dp1 = 0;for (int i = 0; i < n; i++) {char c = s.charAt(i);int dp0New = dp0, dp1New = Math.min(dp0, dp1);if (c == 'B') {dp0New++;} else {dp1New++;}dp0 = dp0New;dp1 = dp1New;}return Math.min(dp0, dp1);}}

Python代码

import functools
import sys
from collections import Counter, defaultdict
import copy
from itertools import permutations
import re
import math
import sys#处理输入
input_str = input()def minFlipsMonoIncr(s):dp0 = dp1 = 0for c in s:dp0New, dp1New = dp0, min(dp0, dp1)if c == 'B':dp0New += 1else:dp1New += 1dp0, dp1 = dp0New, dp1Newreturn min(dp0, dp1)print(minFlipsMonoIncr(input_str))

JS代码

function main(s) {const n = s.length;let dp0 = 0, dp1 = 0;for (let i = 0; i < n; i++) {const c = s[i];let dp0New = dp0, dp1New = Math.min(dp0, dp1);if (c === 'B') {dp0New++;} else {dp1New++;}dp0 = dp0New;dp1 = dp1New;}console.log(Math.min(dp0, dp1));
};main("AABAABBABB")


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

相关文章

API 接口设计

1、场景描述 比如说我们要做一款 APP&#xff0c;需要通过 api 接口给 app 提供数据。假设我们是做商城&#xff0c;比如我们卖书的。我们可以想象下这个 APP 大概有哪些内容&#xff1a; 1&#xff09;首页&#xff1a;banner 区域&#xff08;可以是一些热门书籍的图片做推广…

怎么调节PDF文件的尺寸大小?

很多人在日常工作中比较喜欢使用PDF形式的文档来存储资料&#xff0c;PDF文档创建完成后&#xff0c;很多人觉得页面展示效果不够显眼&#xff0c;这时候可以通过调节PDF文件的尺寸大小来更改显示效果&#xff0c;在调节PDF文件的尺寸大小时&#xff0c;可以借助一些比较好用的…

我与ChatGPT的对话

爱吃熊掌的鱼:你如何看待你的存在 ChatGPT3.5:作为一个人工智能模型&#xff0c;我没有意识或自我意识。我的存在只是基于我所编写的程序和算法&#xff0c;可以回答用户提出的问题和执行特定的任务。我的存在是为了帮助和服务人类&#xff0c;提供有用的信息和解决方案。我不会…

第01讲:为何 SkyWalking 一枝独秀?

随着互联网时代的发展&#xff0c;很多企业为了快速响应业务的变化&#xff0c;开始使用微服务架构。微服务架构的系统常常被切分为多个独立的子系统并以集群的方式部署在数十甚至成百上千的机器上。 虽然微服务架构带来更大的灵活性、更高的开发效率等等一系列好处&#xff0c…

5G 智慧高校顶层规划设计及应用方案

本资料来源公开网络&#xff0c;仅供个人学习&#xff0c;请勿商用&#xff0c;如有侵权请联系删除 设计思路 智慧校园产品以实现学校信息化建设&#xff0c;整合教学资源为目标&#xff0c;采用5G云网一体化模式&#xff0c;构建“云网端内容应用”五位一体的产品形态。实现教…

华为OD机试-统一限载最小值-2022Q4 A卷-Py/Java/JS

火车站附近的货物中转站负责将到站货物运往仓库&#xff0c;小明在中转站负责调度2K辆中转车&#xff08; K 辆干货中转车&#xff0c; K 辆湿货中转车&#xff09;。货物由不同供货商从各地发来&#xff0c;各地的货物是依次进站&#xff0c;然后小明按照卸货顺序依次装货到中…

【Go进阶】Goroutine 实现原理

目录 1、GMP模型 2、Goroutine调度策略 队列轮转 系统调用 工作量窃取

基于像素-原型对比的弱监督语义分割

目录Weakly Supervised Semantic Segmentation by Pixel-to-Prototype Contrast摘要本文方法Pixel-to-Prototype ContrastPrototype EstimationCross-view ContrastIntra-view Contrast消融实验Weakly Supervised Semantic Segmentation by Pixel-to-Prototype Contrast 摘要 …