首页 > 试题广场 >

小红切字符串

[编程题]小红切字符串
  • 热度指数:350 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
小红定义一个字符串的权值是:字符串辅音数量和元音数量的差的绝对值。
例如,"arcaea"的权值是 2,因为有 4 个元音,2 个辅音,权值为|4-2|=2。
现在小红拿到了一个字符串,她想把这个字符串切成两个非空字符串,需要满足两个字符串的权值相等。小红想知道,有多少种不同的切割方式?
我们定义,元音有"aeiou"这五种,其余字母均为辅音。

输入描述:
一个仅包含小写字母的字符串,长度不超过 200000。


输出描述:
小红的切割方案数。

示例1

输入

arcaea

输出

2

说明

方案 1:"a"和"rcaea",权值均为 1。
方案 2:"arcae"和"a",权值均为 1。
头像 丨阿伟丨
发表于 2025-09-12 18:09:13
题目链接 小红切字符串 思路分析 1. 问题转换 题目要求我们将一个字符串 s 切割成两个非空部分 s_left 和 s_right,并计算有多少种切割点,使得 s_left 和 s_right 的“权值”相等。 一个字符串的权值定义为:|元音数量 - 辅音数量|。 为了方便计算,我们可以给每个字符 展开全文