华为OD-C卷-分割均衡字符串[100分]

题目描述

均衡串定义:字符串中只包含两种字符,且这两种字符的个数相同。

给定一个均衡字符串,请给出可分割成新的均衡子串的最大个数。

约定:字符串中只包含大写的 X 和 Y 两种字符。

输入描述

输入一个均衡串。

  • 字符串的长度:[2, 10000]。
  • 给定的字符串均为均衡字符串

输出描述

输出可分割成新的均衡子串的最大个数。

备注

分割后的子串,是原字符串的连续子串

用例1

输入

复制代码
XXYYXY

输出

复制代码
2

说明

XXYYXY可分割为2个均衡子串,分别为:XXYY、XY

解题思路:

循环遍历字符串,统计遇到的X和Y字符的数量,当X字符和Y字符数量相等时,均衡字符串数量+1即可。

Python代码实现

python 复制代码
s = input()
cntX = 0
cntY = 0
ans = 0
for c in s:
    if c == 'X':
        cntX += 1
    else:
        cntY += 1
    if cntX == cntY:
        ans += 1
print(ans)
相关推荐
梨子串桃子_6 小时前
推荐系统学习笔记 | PyTorch学习笔记
pytorch·笔记·python·学习·算法
夏鹏今天学习了吗6 小时前
【LeetCode热题100(83/100)】最长递增子序列
算法·leetcode·职场和发展
情缘晓梦.6 小时前
C语言指针进阶
java·开发语言·算法
北邮刘老师7 小时前
智能体治理:人工智能时代信息化系统的全新挑战与课题
大数据·人工智能·算法·机器学习·智能体互联网
AlenTech7 小时前
155. 最小栈 - 力扣(LeetCode)
算法·leetcode·职场和发展
mit6.8248 小时前
正反两次扫描|单调性cut
算法
Yzzz-F8 小时前
牛客小白月赛127 E
算法
大锦终8 小时前
递归回溯综合练习
c++·算法·深度优先
Keep__Fighting8 小时前
【神经网络的训练策略选取】
人工智能·深度学习·神经网络·算法
晚风吹长发8 小时前
初步了解Linux中的动静态库及其制作和使用
linux·运维·服务器·数据结构·c++·后端·算法