社区讨论
我关于这题的想法
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,所以S和T分别去掉所有的字符A之后应该相等,
如果不相等,说明S无法变成T,直接输出-1,return 0。继续思考,发现可以将不是
A的字符当作分界线,把S和T分成若干段(注意头尾的处理)。每一个
S和T的对应段中,A的个数差的绝对值就是当前这一段需要的修改次数。我们直接拿两个数组
ans1和ans2记录一下S和T每一段中A的个数。最后
for循环max(a, b)次,a,b为两个数组的长度,每一次ans += abs(ans1[i] - ans2[i]),最后输出ans,就做完了。代码还是很好实现的。
回复
共 5 条回复,欢迎继续交流。
正在加载回复...