由于只能向源字符串 S 中插入字符,不能删除或修改原有字符,因此应尽可能利用 S 中已经存在的字符来匹配目标字符串 T。
能够直接利用的字符必须同时满足:
给定一个目标字符串 T 和一个源字符串 S,请你找出需要在 S 中最少插入多少个字符(可以在任意位置插入),才能使得 T 成为 S 的子序列。
第一行输入目标字符串 T
第二行输入源字符串 S
输出最少需要插入的字符数量
输入
abc
ac
输出
1
说明
在 'c' 前面插入 'b',得到 "abc",所以需要插入 1 个字符。这是最典型的情况,展示了当目标字符串只比源字符串多一个字符时如何处理。
输入
abc
xyz
输出
3
说明
源字符串 S 中没有目标字符串 T 的任何字符,需要插入 "abc" 全部 3 个字符。这是边界情况,展示了当两个字符串完全不相交时如何处理。
输入
aaab
ab
输出
2
说明
源字符串 S 只有 "ab",而目标字符串 T 有三个 'a' 和一个 'b'。可以匹配一个 'a' 和一个 'b',但还需要插入两个 'a'。这是特殊情况,展示了重复字符的处理。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册