华为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)
相关推荐
Felven28 分钟前
B. Skibidus and Ohio
算法
yonuyeung33 分钟前
代码随想录算法【Day54】
java·数据结构·算法
敲上瘾39 分钟前
基础dp——动态规划
java·数据结构·c++·python·算法·线性回归·动态规划
西猫雷婶1 小时前
python学智能算法(三)|模拟退火算法:深层分析
算法·机器学习·模拟退火算法
张有志_1 小时前
STL容器终极解剖:C++ vector源码级实现指南 | 从内存分配到异常安全的全流程避坑
c语言·c++·算法·开源·visual studio
mvufi2 小时前
day58 第十一章:图论part08
数据结构·算法·图论
williamzhou_20132 小时前
深搜专题2:组合问题
数据结构·算法
web_155342746563 小时前
性能巅峰对决:Rust vs C++ —— 速度、安全与权衡的艺术
c++·算法·rust
计算机小白一个9 小时前
蓝桥杯 Java B 组之设计 LRU 缓存
java·算法·蓝桥杯
万事可爱^10 小时前
HDBSCAN:密度自适应的层次聚类算法解析与实践
算法·机器学习·数据挖掘·聚类·hdbscan