现在,你很清楚网格应是什么样的。填充该网格的每个单元格时,该使用什么样的公式呢?由于你已经知道答案——hish和fish的最长公共子串为ish,因此可以作点弊。
即便如此,你还是不能确定该使用什么样的公式。计算机科学家有时会开玩笑说,那就使用费曼算法(Feynman algorithm)。这个算法是以著名物理学家理查德·费曼命名的,其步骤如下。
- 将问题写下来。
- 好好思考。
- 将答案写下来。
计算机科学家真是一群不按常理出牌的人啊!
实际上,根本没有找出计算公式的简单办法,你必须通过尝试才能找出管用的公式。有些算
法并非精确的解决步骤,而只是帮助你理清思路的框架。
请尝试为这个问题找到计算单元格值的公式。给你一点提示吧:下面是这个单元格的一部分。
其他单元格的值呢?别忘了,每个单元格都是一个子问题的值。为何单元格(3, 3)的值为2呢?又为何单元格(3, 4)的值为0呢?
请找出计算公式,再接着往下读。这样即便你没能找出正确的公式,后面的解释也将容易理解得多。