数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 cost[i](索引从0开始)。

每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。

您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。

示例 1:

输入: cost = [10, 15, 20]
输出: 15
解释: 最低花费是从cost[1]开始,然后走两步即可到阶梯顶,一共花费15。
 示例 2:

输入: cost = [1, 100, 1, 1, 1, 100, 1, 1, 100, 1]
输出: 6
解释: 最低花费方式是从cost[0]开始,逐个经过那些1,跳过cost[3],一共花费6。

本题一个容易忽略的是如果他离最后一个台阶只有两步,那么他可以一步跨上去而不计算最后一个台阶的花费

public class Solution746 {
    public static int minCostClimbingStairs(int[] cost) {
        int t = cost.length;
        int i;
        int[] dp = new int[t+1];
        dp[0] = cost[0];
        dp[1] = cost[1];
        for(i=2;i<t;i++)
        {
            dp[i]=java.lang.Math.min(dp[i-1], dp[i-2])+cost[i];
        }
        return java.lang.Math.min(dp[t-1],dp[t-2]);
    }
    public static void main(String[] args)
    {
        int[] cost = {1,1,0,0};
        System.out.println(minCostClimbingStairs(cost));
    }
}

动态规划--Leetcode746相关推荐

  1. 【代码随想录】-动态规划专题

    文章目录 理论基础 斐波拉契数列 爬楼梯 使用最小花费爬楼梯 不同路径 不同路径 II 整数拆分 不同的二叉搜索树 背包问题--理论基础 01背包 二维dp数组01背包 一维数组(滚动数组) 装满背包 ...

  2. Leetcode动态规划专题(共38道)

    某一问题有很多重叠子问题 每一状态一定由上一状态推导出来 而贪心没有状态推导,而是直接选局部最优 解决方式: 确定dp数组(dp table)以及下标的含义 确定递推公式 dp数组如何初始化 确定遍历 ...

  3. 动态规划(持续更新、整理)

    动态规划 记忆化搜索 不同路径:leetcode-62 分割回文串:leetcode-131 单词拆分II:leetcode-140 戳气球:leetcode-312 零钱兑换:leetcode-32 ...

  4. 伍六七带你学算法 动态规划 ——不同路径

    力扣 62. 不同路径 难度 中等 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格 ...

  5. 由动态规划计算编辑距离引发的思考

    简单介绍 编辑距离算法: https://www.cnblogs.com/BlackStorm/p/5400809.html https://wizardforcel.gitbooks.io/the- ...

  6. LeetCode 10. Regular Expression Matching python特性、动态规划、递归

    前言 本文主要提供三种不同的解法,分别是利用python的特性.动态规划.递归方法解决这个问题 使用python正则属性 import reclass Solution2:# @return a bo ...

  7. 【动态规划】Part1

    1. 硬币找零 题目描述:假设有几种硬币,如1.3.5,并且数量无限.请找出能够组成某个数目的找零所使用最少的硬币数. 分析:   dp [0] = 0            dp [1] = 1 + ...

  8. 2016.4.2 动态规划练习--讲课整理

    1.codevs1742 爬楼梯  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题目描述 Description 小明家外面有一个长长的楼梯,共N阶.小明的腿 ...

  9. 算法设计与分析第4章 动态规划(二)【DP序列问题】

    第3章 动态规划(二)[DP序列问题] 3.2 DP序列问题 (51nod的动态规划教程很不错,讲解很详细,以下分析来自51nod) 1.矩阵取数问题 给定一个m行n列的矩阵,矩阵每个元素是一个正整数 ...

最新文章

  1. 郑州大学计算机学科导论,郑州大学计算机导论大一试题答案.doc
  2. 机器学习笔记(九)---- 集成学习(ensemble learning)【华为云技术分享】
  3. 解决windows安装mongodb出现dbexit: rc:100错误
  4. logistic regression_【科研加油站】SPSS操作之有序Logistic回归的详细教程
  5. python 抽签程序_抽签程序源码
  6. Excel图表⑤—数据可视化的极简之美
  7. 使用阿里巴巴矢量图标库下载所需的小图标
  8. git submodule update --init时报错:Failed to recurse into submodule path third_party/protobuf
  9. 412 Precondition Failed
  10. 安卓生成keystore文件
  11. Word打开docx文件报错
  12. NSG是什么?适用于哪些产品?
  13. Windows监控——性能指标详解
  14. 软件项目开发,交付文档(全)
  15. AE二次开发-获取图层的属性表
  16. #include 和 #include的区别
  17. 当你热爱现实, 世界就是你照见的自己
  18. 华为服务器安装nas系统,服务器 nas 配置
  19. iperf java_网络性能测试工具iperf详解
  20. win10 anaconda3环境下安装tensorflow-GPU(仅需两行代码即可)

热门文章

  1. 程序员面试金典 - 面试题 16.06. 最小差(排序+双指针)
  2. mysql cluster 查看数据库表名称_MySQL Cluster如何创建磁盘表方法解读
  3. android闹钟测试工具,android开发:AlarmManager闹钟管理器的实例
  4. 亚马逊出的平板电脑_亚马逊推出了这款不到400元的平板电脑!学生党的福音!...
  5. 在Pivotal Web Service上发布Spring Boot应用
  6. 【思考】PHP——成也Web,败也Web
  7. 史上最强大型分布式架构详解:高并发+数据库+缓存+分布式+微服务+秒杀
  8. 开源开放 | 中国近代历史人物知识图谱
  9. 研讨会 | 知识图谱前沿技术课程暨学术研讨会(武汉大学站)
  10. 玩转算法值面试-第五章 -在链表中穿针引线