插播一段题外话
你现在发牢骚,是因为你脑袋里的积淀还不够,
1 你积淀的宽度太窄
2 你涉猎的深度不够
3 如果不是以上,那就是你速度太慢。
当你面对所有一般题型时,你都应该:
10秒内识别出题型,及解题大致方法(dp,dfs,loop,greedy , binary-search,data-structure-alg....)
30秒内确定大致解题思路。包括识别出题目中的变形(需要注意到的点)
1分钟内想清楚算法模板。
5分钟内写出程序。
10分钟内通过程序。
只有严格按照这个过程来严格要求自己,才能够进一步提升。
与 Edit Distance 类似的一个题,但要求是:
判断二个字符串的编辑距离是不是小于2.也就是相等或是编辑距离为1.
解答:
1. 两个字符串相同长度,那肯定是存在replace 一个字符。所以如果遇到不同的字符串,
2. 两个字符串长度不等。那肯定是用了add/delete操作才能使2个字符串相同。所以,
另外,以下代码中也有Edit Distance的递归+记忆矩阵的解法。这样的解法跟DP是一样快的,因为它也可以重复使用已经计算过的结果。
GitHub代码链接