#L0358. 基因匹配

基因匹配

题目背景

作为 AI 分析系统,经常需要比对庞大的基因图谱。有时候,突变的基因序列并不完全匹配,而是存在极微小的差异。

题目描述

给定一个较长的源字符串 SS(代表已知基因链)和一个较短的目标字符串 PP(代表要查找的特征序列)。 我们需要在 SS 中寻找与 PP 长度相等的连续子串。但是放宽匹配条件:只要连续子串与 PP 相比,恰好只有 1 个字符不同,我们就认为它是一个“近似匹配”。

请你枚举 SS 中的所有长度等于 PP 的连续子串,统计共有多少个子串满足“近似匹配”的条件。

输入格式

第一行为源字符串 SS。 第二行为目标字符串 PP。 字符串仅由大写英文字母组成。

输出格式

输出一个整数,表示满足条件的近似匹配子串的数量。

数据范围

对于 100% 的数据: 22 \le 目标串 PP 的长度 \le 源串 SS 的长度 1000\le 1000

样例

ATCGAAAA
ATGG
1

样例解释

源串长度为 8,目标串长度为 4。枚举所有长度为 4 的子串:

  1. ATCGATGG:第 3 个字符不同,相差 1 个,符合!
  2. TCGAATGG:全不同。
  3. CGAAATGG:相差 3 个。
  4. GAAAATGG:全不同。
  5. AAAAATGG:相差 3 个。 所以符合条件的只有 1 个。