个人技术分享

1. 解题思路

这一题的话还是一个动态规划的问题,核心递推关系式为:

dp(n, k) = dp(n-1, k) + dp(n, k)

我们用cache实现一下即可。

2. 代码实现

给出python代码实现如下:

MOD = 10**9+7

@lru_cache(None)
def fn(n, k):
    if n == 1 or k == 0:
        return 1
    return (fn(n-1, k) + fn(n, k-1)) % MOD

class Solution:
    def valueAfterKSeconds(self, n: int, k: int) -> int:
        return fn(n, k)

提交代码评测得到:耗时787ms,占用内存174.6MB。