Rust 力扣 - 198. 打家劫舍

文章目录

题目描述

题解思路

假设f(i)表示在1, i号内的房屋内进行偷盗能够获得的最高金额

存在递推公式

f(i) = max(f(i - 1), f(i - 2) + numsi)

即f(i)为选择i - 1号房屋的最大金额 和 选择i - 2号房屋的最大金额 的最大值

题解代码

rust 复制代码
impl Solution {
    pub fn rob(nums: Vec<i32>) -> i32 {
        let mut n = nums.len();
        if n == 1 {
            return nums[0]
        }
        let (mut a, mut b) = (nums[0], nums[0].max(nums[1]));

        for i in 2..n {
            (a, b) = (b, (a + nums[i]).max(b));
        }

        b
    }
}

题目链接

https://leetcode.cn/problems/house-robber/

相关推荐
卷无止境3 分钟前
FastAPI 的可观测性进化,从打日志到看清整个系统的呼吸
后端·python·fastapi
阿翰5 分钟前
MiniPdf Office 转 PDF 支持 Rust 原生实现:3 MB 单文件部署、低内存
rust·minipdf
茉莉玫瑰花茶7 分钟前
RAG 数据检索
人工智能·算法·机器学习
Freak嵌入式11 分钟前
MicroPython+Pico 接收空闲中断和发送空闲中断全实战
java·开发语言·stm32·单片机·嵌入式硬件
重生之小比特12 分钟前
【初阶C++】string
开发语言·c++
MetaLite17 分钟前
SpringBoot防重复提交-加一把Redis锁就够吗
spring boot·redis·后端
卷无止境20 分钟前
FastAPI 的 CI/CD 之路,从代码提交到线上运行
后端·python·fastapi
speop25 分钟前
hell-gpu| TASK01-2
linux·运维·算法
计算机毕设定制辅导-无忧学长25 分钟前
《基于SpringBoot的图书管理系统设计与实现》
java·spring boot·后端
小蒜学长26 分钟前
借助于大模型工具Cursor的中药材交易系统的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端