2018美团点评春招笔试编程题

字符串距离

题目描述

  • 给出两个相同长度的由字符 a 和 b 构成的字符串,定义它们的距离为对应位置不同的字符的数量。如串”aab”与串”aba”的距离为 2;串”ba”与串”aa”的距离为 1;串”baa”和串”baa”的距离为 0。下面给出两个字符串 S 与 T,其中 S 的长度不小于 T 的长度。我们用|S|代表 S 的长度,|T|代表 T 的长度,那么在 S 中一共有|S|-|T|+1 个与T长度相同的子串,现在你需要计算 T 串与这些|S|-|T|+1 个子串的距离的和。
  • 输入描述:

第一行包含一个字符串 S。第二行包含一个字符串 T。S 和 T 均由字符 a 和 b 组成,1 ≤ |T| ≤ |S| ≤105 。

  • 输出描述:

输出对应的答案

  • 样例:

in:
aab
aba
out:
2

in:
aaabb
bab
out:
5

解题思路:

  • 第一时间想到暴力遍历去做,不过似乎超时
  • 然后想想为什么会超时呢,无非是重复比较的次数太多。如果我们只考虑 T字符串中的每一个字符的话,会发现 它只会

你可能感兴趣的:(春招)