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

代码随想录算法训练营第二十九天| 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯

题目链接:509. 斐波那契数 - 力扣(LeetCode)

思路:基础题目

class Solution(object):def fib(self, n):""":type n: int:rtype: int"""if n == 0:return 0elif n == 1: return 1else:dp = [0] * (n + 1)dp[0] = 0dp[1] = 1for i in range(2, n + 1):dp[i] = dp[i - 1] + dp[i - 2]return dp[n]

题目链接:70. 爬楼梯 - 力扣(LeetCode)

class Solution(object):def climbStairs(self, n):""":type n: int:rtype: int"""if n == 1:return 1elif n == 2:return 2else:dp = [0] * (n + 1) #多一个防止排0dp[1] = 1 #上一阶有一种 1dp[2] = 2 #上二阶有两种 1 + 1; 2for i in range(3, n + 1):dp[i] = dp[i-2] + dp[i-1] #由下两阶跨两步上来,也可以下一阶跨一步上来return dp[n]

题目链接:746. 使用最小花费爬楼梯 - 力扣(LeetCode)

思路:这题主要是要想清楚楼顶在哪,要多加一位

class Solution(object):def minCostClimbingStairs(self, cost):""":type cost: List[int]:rtype: int"""if len(cost) == 2:return min(cost[0], cost[1])else:dp = [0] * (len(cost) + 1) #dp数组代表走到当前位置需要花费的最小代价for i in range(2, len(cost) + 1):dp[i] = min(dp[i-1] + cost[i-1], dp[i-2] + cost[i-2])return dp[len(cost)]


http://www.mrgr.cn/news/3308.html

相关文章:

  • 【企业高性能web服务器】
  • 数据结构day03(栈 Stack 顺序栈、链式栈 )内含具体详细代码实现
  • 场景分析-库存扣减
  • 宠物空气净化器是智商税吗?希喂、范罗士热门产品真实性能测试
  • 8个我平时每天都会看的网站,涵盖办公、娱乐、学习等
  • 使用Python将xml标注文件转换为coco json格式
  • Leetcode-day23-回溯-子集问题
  • 白酒与素食:健康与美味的双重享受
  • 转化轮询数据成树状结构
  • 什么是数据仓库ODS层?为什么需要ODS层?
  • SAP Parallel Accounting(平行分类账业务)配置及操作手册【适用于多国家会计准则】
  • Python 设置Excel工作表页边距、纸张大小/方向、打印区域、缩放比例
  • 鸿蒙HarmonyOS开发知识:命令行工具篇—“codelinter”
  • APP支付宝授权获取code uniapp
  • 探讨MySQL中 “约束“ 下的查询
  • 宠物空气净化器哪款能吸毛?希喂、米家宠物空气净化器测评分享
  • 安全基础学习-SM4加密算法
  • Windows 应用程序加密 - 功能强大、可定制、开源且完全免费
  • 机器学习——XGBoost
  • IO多路复用(Input/Output Multiplexing)