当前位置:首页 > 题解目录 > 正文内容

【题解】转换字符串的最少操作次数

亿万年的星光1年前 (2025-01-16)题解目录1117

【题目描述】

给你一个字符串 s ,由 n 个字符组成,每个字符不是 'X' 就是 'O' 。

一次 操作 定义为从 s 中选出 三个连续字符 并将选中的每个字符都转换为 'O' 。注意,如果字符已经是 'O' ,只需要保持 不变 。

返回将 s 中所有字符均转换为 'O' 需要执行的 最少 操作次数。

【输入描述】

一行字符串,由XO构成

【输出描述】

一行一个数,表示最少操作次数

【样例1输入】

XXX

【样例1输出】

1

【样例1解释】

XXX -> OOO
一次操作,选中全部 3 个字符,并将它们转换为 'O' 。

【样例2输入】

XXOX

【样例2输出】

2

【样例2解释】

XXOX -> OOOX -> OOOO
第一次操作,选择前 3 个字符,并将这些字符转换为 'O' 。
然后,选中后 3 个字符,并执行转换。最终得到的字符串全由字符 'O' 组成。

【样例3输入】

OOOO

【样例3输出】

0

【样例3解释】

不存在需要转换的 'X' 。

本篇文章已加密,请输入密码后查看。

    扫描二维码推送至手机访问。

    版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

    分享给朋友:

    相关文章

    【题解】求逆序对个数

    【题目描述】有一实数序列A[1]、A[2] 、A[3] 、……A[n-1] 、A[n] (n<10000),若i<j,并且A[i]>A[j],则称A[i]与A[j]构成了一个逆序对,...

    【题解】石子合并

    【题目描述】在一个操场上一排地摆放着N堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。设计一个程序,计算出将N堆石子合并成一堆的...

    【题解】切割钢管

    【题解】切割钢管

    【题目描述】小A是某工地的计算工程师。工地现有 n 根钢管,第 i 根钢管的长度为 ai。现在想用这 n 根钢管来做一个支撑用的柱子。我么可以切割这些钢管成为更短的钢管,但是不能缝合两根钢管。为了安全...

    【题解】将钱分给最多的儿童

    【题目描述】给你一个整数 money ,表示你总共有的钱数(单位为美元)和另一个整数 children ,表示你要将钱分配给多少个儿童。你需要按照如下规则分配:...

    【题解】队列问题

    【题解】队列问题

    4.队列问题(lru.cpp)【题目描述】有一个大小为n的页面缓存队列,初始为空,当计算机访问页面时,若缓存队列没有该页面,则加入到缓存队列中,若队列已满,则将删除访问时间最远的页面。有Q次询问,每次...

    【题解】合根植物

    【题解】合根植物

    【题目描述】w星球的一个种植园,被分成 m * n 个小格子(东西方向m行,南北方向n列)。每个格子里种了一株合根植物。这种植物有个特点,它的根可能会沿着南北或东西方向伸展,从而与另一个格子的植物合成...