https://leetcode.com/problems/count-substrings-that-differ-by-one-character/
虽然O(n^3)的解法很不优雅,很暴力,可是,能解决问题就行,这样的暴力解法,能想得出来么?
个人解答
class Solution:
def countSubstrings(self, s: str, t: str) -> int:
res = 0
for i in range(len(s)):
for j in range(len(t)):
diff = 0
for k in range(min(len(s) - i, len(t) - j)):
if s[k + i] != t[k + j]:
diff += 1
if diff > 1:
break
res += diff
return res
题目分析
找到一个准则,而不是毫无头绪的解决,比如,本题中,两个str各自从某个位置出发开始扩展,就至少是一个合理的准则,算法本来就应该这样,按部就班,有规则。
其它解法
当然,这道题有更多更高效的解法,比如DP等等
但记录这道题的目的就是,说明如何踏踏实实,先用暴力的方法把题目做出来,再想着优化
其它解法可以参照discussion