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

题目

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

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

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

限制条件

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

Show me the code

swift 复制代码
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] = ret
        return ret
    }
}

执行用时&内存分布

相关推荐
Magnetic_h7 小时前
【iOS】设计模式复习
笔记·学习·ios·设计模式·objective-c·cocoa
00后程序员张9 小时前
详细解析苹果iOS应用上架到App Store的完整步骤与指南
android·ios·小程序·https·uni-app·iphone·webview
前端小超超9 小时前
capacitor配置ios应用图标不同尺寸
ios·蓝桥杯·cocoa
2501_9151063210 小时前
Xcode 上传 ipa 全流程详解 App Store 上架流程、uni-app 生成 ipa 文件上传与审核指南
android·macos·ios·小程序·uni-app·iphone·xcode
kymjs张涛12 小时前
零一开源|前沿技术周刊 #16
ios·apple·hacker news
2301_8210465213 小时前
Python与Go结合
ios·iphone
他们都不看好你,偏偏你最不争气13 小时前
【iOS】AFNetworking
开发语言·macos·ios·objective-c
zhanggui15 小时前
iOS Debug Symbols
ios·xcode·debug symbox
HarderCoder17 小时前
【Swift Concurrency】深入理解 `async let` 与 `TaskGroup`:并发任务的生命周期与错误传播机制
swift
HarderCoder17 小时前
深入理解 Swift Concurrency:从 async/await 到 Actor 与线程池的完整运行机制
swift