Leetcode Mr.How知其所以然之72_Edit_Distance问题主题模块
Leetcode Algorithm Mr.How知其所以然之72_Edit_Distance主题模块
原创文章,版权所有,搬运文章,转发请注明polyaD,原文链接https://polyad.github.io/tags 如有任何问题或疑惑,请在后面留言或者发邮箱留言polyaluthor@gmail.com,加微信polyad或者qq数学算法开发10群 282642152进行探讨,请备注:Mr.How。
前言
您好,欢迎来到我的引导学习记录笔记,我是polayD, Mr.How先生。本系列依据《怎样解题》,George Polya的方法以及知其所以然模式启发,进行拓展而成。希望在这里,您能找到引导式学习的快乐,逐步建立与形成自己的知识同化模式,摆脱碎片化信息的烦扰,掌握快速学习与深度知识系统化的技能,期待与您共同进步。
信息碎片化的时代,随波逐流我们将一无所获,特别是当没有形成系统垂直化的知识模块,很多时候我们只能人云亦云,面对海量信息,无法判别重要性,相关性,有效性,普通的个人很难在信息洪流中找到自己的定位。深度式的知其所以然的引导式学习,可避开信息碎片化旋涡,同时突破信息茧房的束缚。下面波利亚将引领您,进入一个这个基础主题模块的海洋,带上自己的定位导航,抓紧好奇心的船舵,扬帆深入得在这片海洋里探索,前进,自我迭代进化。
**理念与标准设定迭代模块**
I.理念迭代:
1.缝合现实与理论的鸿沟。
2.缝合理论主题与练习的鸿沟。
3.认知升级:掌握方法论比掌握知识点更重要。
4.设立量化目标:标准框架与计划实施作业,建立模块化迭代。
5.潜意识出发平缓引导:第一人称为主,进行自我提问与引导,主要是让自我潜意识有参与感。
6.一根针插到底的解决问题:只要内心存在疑问,就应该把问题写入问题列表,随便再进行解读。彻底明白一个系统模块,胜过离散的弄清问题。
7.信息资源发散式归集:以此问题为核心支点,散发结合所有可能收集到的认知,整合解读,不唯教科书论,不唯单一信息来源论。尽量多查找一手资源。
8.问题全流程迭代:现实3D场景->发现问题->设立标准->提出问题->描述问题信息->解决问题->实践验证->抽象化->理论化->一般化->主题框架化->重新应用于新的3D场景。
II.标准与实施设定迭代:
首先,做什么事之前,先要设定一下我们的小目标,
我们的整体导航路径:
1.主题解析,先难后易,深入浅出,案例拆解,举一反三
2.主要解决两个问题:如何思考这个问题?如何使用这个解决问题?
3.尽可能所有收集参考资料,实践以后,再全部用自己的语言进行复述回答,将思路,事无巨细的写出来,特别是关键节点。
4.陆续将提供中英文版本。
5.问题解决同化迭代模式:理念与标准设定迭代模块,计划与实施模块,问题引导列表分析模块,执行分析步骤模块,动画与代码实现模块,方法工具归集模块,反思批判模块,十字定位模块,意义与主题模块,拓展应用模块
6.知识点主题模块同化迭代模式:理念与标准设定模块,计划与实施模块,意义背景模块,十字定位模块,问题引导列表分析模块,区别模块,反思批判模块,拓展应用模块
计划与实施模块
**问题引导列表分析迭代模块**
- I 如何才算对这个问题知其所以然?
- 弄清问题 1.未知的是什么?已知的是什么?条件是什么?满足条件是否可能? 要确定未知的,条件是否充分?或者它是否不充分?或者是多余的?或者是矛盾的? 2.画张图,并引入适当的符号。 3.把条件的各部分分开,并把它们写下来。
- 拟订计划
1.考虑以前是否见过它? 是否见过相同的问题而形式稍有不同? 我是否知道一个可能用上的规律?
2.考虑具有相同未知的或相似未知的熟悉的问题。
3.能否利用它的结果或方法?为了利用它,是否引入某些辅助元素? 4.能否用不同的方法重新叙述它? 5.回到概念上去。
6.如果我不能解决所提出的问题,可先解决一个与此有关的问题。
7.是否利用了所有的已知的?是否利用了所有条件?是否考虑了 包含在问题中的所有必要的概念? - 实现计划
1.实现我的求解计划,检验每一步骤。
2.我能否清楚地看出这一步骤是正确的? 我能否证明这一步骤是正确的? 我能否说出我所写的每一步的理由? 回顾重要
从理解开始,它的每一个细节都应该是完整而正确的,
从各个方面考虑这个解,找出与我已有知识之间的联系。
考虑解的细节,并尝试使它们尽可能地简单;
总结我解题的方法,并且尝试把它用于其他问题。
1. 能否检验这个论证?
2. 你能否用别的方法导出结果?
3. 能不能一下子看出它来?
4. 能不能把这结果或方法用于其他问题? - 揣摩问题
1. 为什么要这样(为什么这是好的)?
2. 为什么不是那样(有其它做法吗?有更好的做法吗?)?
3. 这样做是最好的吗?(为什么?能证明吗?)
4. 这个做法跟其它的什么做法有本质联系吗?
5. 这个跟这个的区别是什么?
6. 问题的本质是什么?
7. 这个做法的本质又是什么?
8. 到底本质上是什么东西导致了这个做法如此?
9. 与这个问题类似的还有其它问题吗?(同样或类似的做法也适用吗?) - II.这个问题类型
- 1.这个问题通用步骤及公式
- 2.这个问题类别区分
- 3.这个问题归集
- III.问题实际项目案例实施
**问题模块**
English version:
Given two words word1 and word2, find the minimum number of operations required to convert word1 to word2.
You have the following 3 operations permitted on a word:
Insert a character
Delete a character
Replace a character
Example 1:
Input: word1 = "horse", word2 = "ros"
Output: 3
Explanation:
horse -> rorse (replace 'h' with 'r')
rorse -> rose (remove 'r')
rose -> ros (remove 'e')
Example 2:
Input: word1 = "intention", word2 = "execution"
Output: 5
Explanation:
intention -> inention (remove 't')
inention -> enention (replace 'i' with 'e')
enention -> exention (replace 'n' with 'x')
exention -> exection (replace 'n' with 'c')
exection -> execution (insert 'u')
中文版本:
给出两个字符串,找出最少的操作数将字符串1转化成字符串2
你将只能允许使用3种操作在同一个字符串上:
插入一个字母
删除一个字母
替换一个字母
示例1:
Input: word1 = "horse", word2 = "ros"
Output: 3
Explanation:
horse -> rorse (replace 'h' with 'r')
rorse -> rose (remove 'r')
rose -> ros (remove 'e')
示例2:
Input: word1 = "intention", word2 = "execution"
Output: 5
Explanation:
intention -> inention (remove 't')
inention -> enention (replace 'i' with 'e')
enention -> exention (replace 'n' with 'x')
exention -> exection (replace 'n' with 'c')
exection -> execution (insert 'u')
引导
- I 如何才算对这个问题知其所以然?
- 弄清问题
1.未知的是什么?已知的是什么?条件是什么?满足条件是否可能? 要确定未知的,条件是否充分?或者它是否不充分?或者是多余的?或者是矛盾的?
-
未知: 已知: 条件: 2.画张图,并引入适当的符号。
-
3.把条件的各部分分开,并把它们写下来。
-
- 拟订计划
1.考虑以前是否见过它? 是否见过相同的问题而形式稍有不同? 我是否知道一个可能用上的规律?
2.考虑具有相同未知的或相似未知的熟悉的问题。
3.能否利用它的结果或方法?为了利用它,是否引入某些辅助元素? 4.能否用不同的方法重新叙述它? 5.回到概念上去。
6.如果我不能解决所提出的问题,可先解决一个与此有关的问题。
7.是否利用了所有的已知的?是否利用了所有条件?是否考虑了 包含在问题中的所有必要的概念? - 实现计划
1.实现我的求解计划,检验每一步骤。
2.我能否清楚地看出这一步骤是正确的? 我能否证明这一步骤是正确的? 我能否说出我所写的每一步的理由? 回顾重要
从理解开始,它的每一个细节都应该是完整而正确的,
从各个方面考虑这个解,找出与我已有知识之间的联系。
考虑解的细节,并尝试使它们尽可能地简单;
总结我解题的方法,并且尝试把它用于其他问题。
1. 能否检验这个论证?
2. 你能否用别的方法导出结果?
3. 能不能一下子看出它来?
4. 能不能把这结果或方法用于其他问题? - 揣摩问题
1. 为什么要这样(为什么这是好的)?
2. 为什么不是那样(有其它做法吗?有更好的做法吗?)?
3. 这样做是最好的吗?(为什么?能证明吗?)
4. 这个做法跟其它的什么做法有本质联系吗?
5. 这个跟这个的区别是什么?
6. 问题的本质是什么?
7. 这个做法的本质又是什么?
8. 到底本质上是什么东西导致了这个做法如此?
9. 与这个问题类似的还有其它问题吗?(同样或类似的做法也适用吗?) - II.这个问题类型
- 1.这个问题通用步骤及公式
- 2.这个问题类别区分
- 3.这个问题归集
- III.问题实际项目案例实施
**问题思路与分析模块**
- 语言思路详细描述
-
第一步定义:d
- 语言实现代码描述
- 代码逐步优化实现
- 伪代码
- 动画每步过程实现
**调试代码实现:C++,java,GO,javascript,PHP模块**
**问题记录列表解析模块**
#参考资料
—–
一级资料文献与书籍及重要作者
文献:
书籍:
博客: Leetcode 72: Edit Distance
论坛:
视频:
二级资料:他人加工且有观点及大众资料
博客:
论坛:
视频:
返回顶部
评论:
技术文章推送
知其所以然主题模块分享
微信公众号:How先生polyad