Leetcode 3693. Climbing Stairs II
- Leetcode 3693. Climbing Stairs II
- 1. 解题思路
- 2. 代码实现
- 题目链接:3693. Climbing Stairs II
1. 解题思路
这一题思路上就是一个比较经典的动态规划的思路,动手尝试一下就行了。
2. 代码实现
给出python代码实现如下:
class Solution:def climbStairs(self, n: int, costs: List[int]) -> int:costs = [0] + costs@lru_cache(None)def dp(idx):if idx == n:return 0ans = math.inffor j in range(1, 4):if idx + j > n:breakans = min(ans, dp(idx+j) + costs[idx+j] + j*j)return ansreturn dp(0)
提交代码评测得到:耗时1355ms,占用内存12.12MB。