我正在尝试尽可能高效地使用 F# 编写一个 tetranacci 函数,但我提出的第一个解决方案确实效率低下。你能帮我想出一个更好的吗?我如何能够在线性时间内实现这一点?
let rec tetra n =
match n with
| 0 -> 0
| 1 -> 1
| 2 -> 1
| 3 -> 2
| _ -> tetra (n - 1) + tetra (n - 2) + tetra (n - 3) + tetra (n - 4)
Run Code Online (Sandbox Code Playgroud)