当前位置: 首页 > news >正文

佛山网站制作网站设计17网站一起做网店普宁池尾雅晨

佛山网站制作网站设计,17网站一起做网店普宁池尾雅晨,老会计手把手教做帐官方网站,西安seo报价文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时空频度】九【代码实现】十【提交结果】 一【题目类别】 数组 二【题目难度】 简单 三【题目编号】 746.使用最小花费爬楼梯 四【题目描述】 给你一…

文章目录

  • 一【题目类别】
  • 二【题目难度】
  • 三【题目编号】
  • 四【题目描述】
  • 五【题目示例】
  • 六【题目提示】
  • 七【解题思路】
  • 八【时空频度】
  • 九【代码实现】
  • 十【提交结果】

一【题目类别】

  • 数组

二【题目难度】

  • 简单

三【题目编号】

  • 746.使用最小花费爬楼梯

四【题目描述】

  • 给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。
  • 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。
  • 请你计算并返回达到楼梯顶部的最低花费。

五【题目示例】

  • 示例 1

    • 输入:cost = [10,15,20]
    • 输出:15
    • 解释:你将从下标为 1 的台阶开始。
      • 支付 15 ,向上爬两个台阶,到达楼梯顶部。
      • 总花费为 15 。
  • 示例 2

    • 输入:cost = [1,100,1,1,1,100,1,1,100,1]
    • 输出:6
    • 解释:你将从下标为 0 的台阶开始。
      • 支付 1 ,向上爬两个台阶,到达下标为 2 的台阶。
      • 支付 1 ,向上爬两个台阶,到达下标为 4 的台阶。
      • 支付 1 ,向上爬两个台阶,到达下标为 6 的台阶。
      • 支付 1 ,向上爬一个台阶,到达下标为 7 的台阶。
      • 支付 1 ,向上爬两个台阶,到达下标为 9 的台阶。
      • 支付 1 ,向上爬一个台阶,到达楼梯顶部。
      • 总花费为 6 。

六【题目提示】

  • 2 <= cost.length <= 1000
  • 0 <= cost[i] <= 999

七【解题思路】

  • 该题为标准的动态规划题目
  • 对于第i个位置,cost[i]为第i个位置向上爬的花费,dp[i]为到达第i个位置所需要的最小的花费,所以可以得到动态转移方程:
    • dp[i] = min(cost[i - 1] + dp[i - 1], cost[i - 2] + dp[i - 2])
  • 最后返回结果即可
  • 具体细节可以参考下面的代码

八【时空频度】

  • 时间复杂度: O ( n ) O(n) O(n) n n n为传入的数组的长度
  • 空间复杂度: O ( n ) O(n) O(n) n n n为传入的数组的长度

九【代码实现】

  1. Java语言版
class Solution {public int minCostClimbingStairs(int[] cost) {int n = cost.length;// 动态规划数组int[] dp = new int[n + 1];dp[0] = 0;dp[1] = 0;// 计算爬楼梯的最小花费:到达第 i 层的最小花费由前一层或前两层的最小花费加上当前层的花费决定for (int i = 2; i < (n + 1); i++) {dp[i] = Math.min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2]);}// 返回结果return dp[n];}
}
  1. Python语言版
class Solution:def minCostClimbingStairs(self, cost: List[int]) -> int:n = len(cost)# 动态规划数组dp = [0] * (n + 1)# 计算爬楼梯的最小花费:到达第 i 层的最小花费由前一层或前两层的最小花费加上当前层的花费决定for i in range(2, (n + 1)):dp[i] = min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2])# 返回结果return dp[n]
  1. C语言版
int minCostClimbingStairs(int* cost, int costSize)
{// 动态规划数组int* dp = (int *)calloc((costSize + 1), sizeof(int));// 计算爬楼梯的最小花费:到达第 i 层的最小花费由前一层或前两层的最小花费加上当前层的花费决定for (int i = 2; i <= costSize; i++){dp[i] = fmin(cost[i - 1] + dp[i - 1], cost[i - 2] + dp[i - 2]);}int res = dp[costSize];free(dp);// 返回结果return res;
}

十【提交结果】

  1. Java语言版
    在这里插入图片描述

  2. Python语言版
    在这里插入图片描述

  3. C语言版
    在这里插入图片描述

http://www.yayakq.cn/news/745717/

相关文章:

  • 渭南网站制作学校网站建设 中企动力南昌
  • 重庆专业企业建设网站合肥企业网站建设公司
  • 高校档案网站建设的目的是什么意思6万左右装修三室两厅
  • 网页设计制作一个网站wordpress消息通知
  • 什么网站可以自己做房子设计网站建设算无形资产
  • 沈阳网官网windows优化大师的特点
  • 为什么企业需要建设网站?有特色的企业网站
  • 胶州市经济技术开发区建设局网站专业网站建设品牌策划
  • 科技网站首页欣赏程序员网站建设
  • 网站功能设计怎么写外贸网站营销推广
  • 网站设计与建设实践河西网站建设开发
  • 哪些网站做家政推广动态域名做网站
  • 怎样如何做网站赚钱科技展馆设计效果图
  • 太原建站seo百度网址是多少 百度知道
  • 连云港做企业网站公司企业网站推广的方法有哪些
  • 瓜子网网站建设策划书珠海营销营网站建设公司
  • 企业网站建设费用计入哪个科目做统计图的网站
  • 做炭化料的网站wordpress网页版
  • 微信做引流网站网站策划书案例展示
  • 网站公司不给ftp网站备案号是什么
  • 中英文网站建设 大概要多久呼和浩特网站制作 建设
  • 广州网站制作建设个人免费网站怎么建设
  • 网站响应式设计wordpress love
  • 做下载网站赚钱线上营销怎么推广
  • 网站名称需要备案吗网站图片上怎么做弹幕效果
  • 第二章 网站建设公司注册资金100万是什么意思
  • 武进网站建设信息网站容量
  • 上海市建设工程安全生产协会网站哪个网站可以做一对一老师
  • 广州做网站wordpress与商城
  • 秦皇岛网站团队wordpress积分券