当前位置:网站首页>LeetCode:746. 使用最小花费爬楼梯【动态规划】
LeetCode:746. 使用最小花费爬楼梯【动态规划】
2022-08-02 03:11:00 【星空皓月】
题目描述

思路
经典动态规划题,要求到楼顶的最低花费,首先要求到达楼顶前的两层花费,要求这两层的花费,则需要知道这两层的前两层的花费…
假设dp[i]表示第i层的最低花费,需要知道第i-1层和第i-2层的消费那层更少,再加上第i层的消费。于是dp[i] = min(dp[i - 1], dp[i - 2]) + cost[i]。
AC代码
class Solution:
def minCostClimbingStairs(self, cost: List[int]) -> int:
n = len(cost)
dp = [0] * n
dp[0], dp[1] = cost[0], cost[1]
for i in range(2, n):
dp[i] = min(dp[i - 1], dp[i - 2]) + cost[i]
return min(dp[-1], dp[-2])
边栏推荐
猜你喜欢
随机推荐
JunitTest单元测试
Hit the programmer interview scene: What did Baidu interviewers ask me?
Heuristic merge, DSU on Tree
dropout
MySQL中的存储过程(详细篇)
HCIP Day 11_MPLS Experiment
嘉为蓝鲸携手东风集团、上汽零束再获信通院四项大奖
(forwarded) HashCode summary (2)
mysql使用on duplicate key update批量更新数据
【遥控器开发基础教程1】疯壳·开源编队无人机-GPIO(遥控器指示灯控制)
合奥科技网络 面试(含参考答案)
第二章——堆栈、队列
Kubernetes 基本概念
MySQL8.0.26 installation and configuration tutorial (windows 64-bit)
C语言力扣第47题全排列 II。搜索回溯
输入延迟切换系统的预测镇定控制
MySQL index optimization in practice
CV-Model [4]: MobileNet v3
#{}和${}的区别
STM32——LCD—TFTLCD原理与配置介绍









