对于输入的两个字符串 $s,t$,要修改 $s$ 中尽可能少的字符,使其能在字符串 $t$ 中被查找到。
直接想到最朴素的枚举算法,枚举字符串 $t$ 的左端点,因字符串 $s$ 的长度不变,所以右端点也能够同时被确定。然后每次判断当字符串 $s$ 修改为字符串 $t$ 中等长的某一段时,需要修改的字符数量,也就是两者不相同的字符的数量。当答案有更新的时候,同时记录下需要修改的每一个位置。
核心代码如下:
1 | for (int i = 1;i <= m - n + 1;++i)//枚举左端点,注意范围 |