在Python中编写计算有差异的子字符串的程序
假设我们有两个字符串s和t,我们需要找到一种方法,选择s的一个非空子串,并将其中一个单个字符替换为另一个不同的字符,以便得到的子串是t的子串之一。我们必须找到满足上述条件的子串数。
所以,如果输入是 s = “sts” t = “tsts”,那么输出将是6,因为以下是s和t的子串对,它们之间差异只有一个字符:
- (“sts”,“tsts”)
- (“sts”,“tsts”)
- (“sts”,“tsts”)
- (“sts”,“tsts”)
- (“sts”,“tsts”)
- (“sts”,“tsts”)
粗体字符部分是从两个字符串s和t中选择的子串。
为了解决这个问题,我们将遵循以下步骤:
- n1:= s的大小
- n2:= t的大小
- ans:= 0
- 对于s中的每个索引i1和字符c1,执行以下操作:
- 对于t中的每个索引i2和字符c2,执行以下操作:
- i : = i1,j: = i2
- 当i
- i : = i + 1,j: = j + 1
- 如果i
- := i + 1,j: = j + 1
- ans:= ans + 1
- 当i
- i : = i + 1,j: = j + 1
- ans:= ans + 1
- 对于t中的每个索引i2和字符c2,执行以下操作:
- 则返回ans
例子
让我们看下面的实现,以获得更好的理解 –