![]() |
1
7
在Haskell中有一个解决动态编程问题的公式。
对于水平距离,阵列是合适的。 递归公式首先根据自身递归地编写水平距离公式
两个字符串的水平距离是一直计算到最后一个字符的距离。
递归调用上的Abstact
然后替换对其他函数调用的递归调用
你可以恢复
通过阵列记忆最后,您需要一种在数组中记忆中间结果的方法。我发现以下方法比中的函数更容易构建数组 Data.Array 。
我们可以通过构建一个包含一些结果的数组来记住数组中的函数,如果参数在数组中,则使用数组中存储的值,如果参数不在数组中,则使用原始函数。
我们可以通过固定一个函数的某些值来固定一个数组中的某个函数,该函数由一些值组成。
把它们放在一起
最后我们可以根据
进一步改进
|
![]() |
trpnd · 如何定义由两个任意单声道变压器组成的单声道变压器? 2 年前 |
![]() |
Fabus1184 · Haskell mapM_不打印 2 年前 |
![]() |
Gotthold · 基于范数约束向量的类型 2 年前 |
![]() |
jian · haskell将另一个函数用作输入参数 2 年前 |
![]() |
Jocafrei · 用Haskell函数实现最大公约数函数 6 年前 |