AlgoMooc
← 返回题库

P3200. 完美走位

困难通过率 51% · 提交 637 · 通过 327
滑动窗口哈希表字符串不定滑窗

小慕正在开发一款第一人称射击游戏的角色移动系统。玩家通过键盘上的 `A`、`S`、`D`、`W` 四个按键控制角色分别向左、向后、向右、向前移动一步,从而完成走位。 小慕发现,如果玩家按动一定次数的键盘后,各个方向的移动步数恰好相等,那么角色必定会回到原点,小慕将这种走位称为。 现在小慕拿到了一段玩家的走位记录(例如:`ASDA`),他希望通过替换其中一段(可以替换成任意相同长度的走位),使得整段走位变成一个完美走位。 请你帮小慕计算出待替换的连续走位的最小可能长度。如果原走位本身已经是完美走位,则返回 `0`。 备注 1. 走位长度 1 ≤ s.length ≤ 10^5 2. s.length 是 4 的倍数 3. s 中只含有 A、S、D、W

提示:带虚线的词点一下有通俗解释。

输入描述

输入为由键盘字母表示的走位s,例如:ASDA

输出描述

输出为待更换的连续走位的最小可能长度

示例

示例 1

输入

AASW

输出

1

说明:需要把一个 A 更换成 D,这样可以得到 ADSW 或者 DASW。

示例 2

输入

ASDW

输出

0

说明:已经是完美走位了。

示例 3

输入

AAAA

输出

3

说明:可以替换后 3 个 A,得到 ASDW。

示例 4

输入

AAAAADDD

输出

4

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。