746. 使用最小花费爬楼梯 (Swift版本)

题目

给你一个整数数组 cost,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。

你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。

请你计算并返回达到楼梯顶部的最低花费。

限制条件

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

Show me the code

class Solution {var cacheMap = [Int: Int]()func minCostClimbingStairs(_ cost: [Int]) -> Int {return minCostClimbingStairs(cost, cost.count)}func minCostClimbingStairs(_ cost: [Int], _ prefixCount: Int) -> Int {if let cache = cacheMap[prefixCount] {return cache}if prefixCount == 2 {return min(cost[0], cost[1])}if prefixCount == 3 {return min(cost[0] + cost[2], cost[1])}let ret = min(minCostClimbingStairs(cost, prefixCount - 1) + cost[prefixCount - 1], minCostClimbingStairs(cost, prefixCount - 2) + cost[prefixCount - 2])cacheMap[prefixCount] = retreturn ret}
}

执行用时&内存分布

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/522941.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文扫荡,12个可视化图表js库,收藏备用。

hello&#xff0c;我是贝格前端工场&#xff0c;可视化图表在web前端开发中经常碰到&#xff0c;是不是很疑惑这些炫酷的图表是怎么实现的&#xff0c;其实是通过js库开发的&#xff0c;本文带来12个javascript库的介绍&#xff0c;欢迎关注我&#xff0c;阅读精彩内容。 一、什…

园区内部无线语音通信的解决方案

在一些园区、办公环境和厂矿场所&#xff0c;内部无线语音通信功能的需求日益凸显&#xff0c;尤其对于人员流动和移动办公的场景。这种需求着重强调了无线通信的便捷性和内部部署环境的适应性。 传统的内部通信系统中&#xff0c;有线通信能力占据主导地位&#xff0c;如集团…

嵌入式学习-FreeRTOS-Day3

嵌入式学习-FreeRTOS-Day3 一、思维导图 二、 1.FreeRTOS任务的调度算法及实现 默认是抢占式调度时间片轮询 1.抢占式调度&#xff1a;任务优先级高的可以打断任务优先级低的执行&#xff08;适用于不同优先级&#xff09; 2.时间片轮转&#xff1a;每一个任务拥有相同的时…

一张草图直接生成视频游戏,谷歌推出生成交互大模型

谷歌DeepMind的研究人员推出了&#xff0c;首个无需数据标记、无监督训练的生成交互模型——Generative Interactive Environments&#xff0c;简称“Genie”。 Genie有110亿参数&#xff0c;可以根据图像、真实照片甚至草图&#xff0c;就能生成各种可控制动作的视频游戏。Ge…

uniapp实现---类似购物车全选

目录 一、实现思路 二、实现步骤 ①view部分展示 ②JavaScript 内容 ③css中样式展示 三、效果展示 四、小结 注意事项 一、实现思路 点击商家复选框&#xff0c;可选中当前商家下的所有商品。点击全选&#xff0c;选中全部商家的商品 添加单个多选框&#xff0c;在将多选…

活动会议如何做好线上宣传?媒体直播怎么做?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 活动会议的线上宣传和媒体直播是提高活动曝光度和参与度的重要手段。以下是一些建议&#xff0c;以帮助您做好线上宣传和媒体直播&#xff1a; 一、线上宣传策略 制定宣传计划&#xff…

FreeRTOS学习笔记-基于stm32(3)中断管理

一、什么是中断 通俗点讲就是让CPU停止当前在做的事&#xff0c;转而去做更紧急的事。 二、中断优先级分组 这个紧急的事也有一个等级之分&#xff0c;优先级越高越先执行。stm32使用中断优先配置寄存器的高4位&#xff0c;共16级的中断优先等级。 stm32的中断优先等级可以分为…

VTune+Sampling Drivers环境搭建(本地和远程)

文章目录 一、实验环境二、Vtune安装2.1 下载2.2 安装2.3 测试2.4 检查2.5 部分功能开启2.5.1 ptrace2.5.2 Sampling Drivers 2.6 Memory Access功能 三、安装Sampling Drivers3.1 Sampling Drivers下载3.2 Sampling Drivers编译3.3 Sampling Drivers安装3.4 Sampling Drivers开…

03_JDBC

文章目录 数据库的访问流程JDBCJDBC实现流程使用JDBC进行增删改查增删改查 重要的APIDriverManagerConnectionStatementResultSet JDBC实现流程的优化数据库注入问题批处理for循环逐条插入statement批处理preparedStatement批处理 数据库的事务事务的步骤事务的API事务的特性事…

计算机组成原理之机器:存储器之高速缓冲存储器

计算机组成原理之机器&#xff1a;存储器之高速缓冲存储器 笔记来源&#xff1a;哈尔滨工业大学计算机组成原理&#xff08;哈工大刘宏伟&#xff09; Chapter3&#xff1a;存储器之高速缓冲存储器 3.1 概述 3.1.1 为什么用cache&#xff1f; 角度一&#xff1a;I/O设备向…

Layer1 隐私安全项目 Partisia Blockchain 空投计划邀你瓜分 2500W 枚 MPC 奖励!

&#x1f6f0;️ Partisia 及基金会介绍 作为一个以 Web3 安全为技术方向的 Layer1 区块链&#xff0c;Partisia Blockchain 自 2021 年诞生之日起已完成了 3 项主要的技术创新。为了创建更安全、快速的数字基础设施&#xff0c;Partisia Blockchain 实现了 1 秒以内的快速交易…

macos docker baota 宝塔 搭建 ,新增端口映射

拉取镜像仅拉取镜像保存到本地&#xff0c;不部署容器&#xff0c;仅需拉取一次&#xff0c;永久存储到本地镜像列表 docker pull akaishuichi/baota-m1:lnmp 其他可参考&#xff1a;宝塔面板7.9.2docker镜像发布-集成LN/AMP支持m1/m2 mac版本 - Linux面板 - 宝塔面板论坛 运行…