社区讨论

我关于这题的想法

AT_abc447_c[ABC447C] Insert and Erase A参与者 4已保存回复 5

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
5 条
当前快照
1 份
快照标识符
@mmgfm0yg
此快照首次捕获于
2026/03/07 22:41
3 天前
此快照最后确认于
2026/03/08 12:28
前天
查看原帖
因为只能删除字符A,所以ST分别去掉所有的字符A之后应该相等, 如果不相等,说明S无法变成T,直接输出-1return 0
继续思考,发现可以将不是A的字符当作分界线,把ST分成若干段(注意头尾的处理)。
每一个ST的对应段中,A的个数差的绝对值就是当前这一段需要的修改次数。
我们直接拿两个数组ans1ans2记录一下ST每一段中A的个数。
最后for循环max(a, b)次,a,b为两个数组的长度,每一次ans += abs(ans1[i] - ans2[i]),最后输出ans,就做完了。
代码还是很好实现的。

回复

5 条回复,欢迎继续交流。

正在加载回复...