Rust 力扣 - 198. 打家劫舍

文章目录

题目描述

题解思路

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

存在递推公式

f(i) = max(f(i - 1), f(i - 2) + nums[i])

即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/

相关推荐
勇者无畏4042 分钟前
基于 Spring AI Alibaba 搭建 Text-To-SQL 智能系统(前置介绍)
java·后端·spring·prompt·embedding
AronTing12 分钟前
2025阿里P6 Java后端面试全攻略:八大模块深度解析
后端·面试
用户685453759776925 分钟前
📈 提升系统吞吐量实战:从1000到10万QPS的飞跃!
后端
AI妈妈手把手26 分钟前
YOLO V2全面解析:更快、更准、更强大的目标检测算法
人工智能·算法·yolo·目标检测·计算机视觉·yolo v2
极客智造29 分钟前
编程世界的内在逻辑:深入探索数据结构、算法复杂度与抽象数据类型
数据结构·算法·数学建模
helloworld_工程师33 分钟前
Dubbo应用开发之FST序列化的使用
后端·dubbo
ArabySide38 分钟前
【Java】理解Java内存中堆栈机制与装箱拆箱的底层逻辑
java·开发语言
superman超哥1 小时前
Rust 开发环境配置:IDE 选择与深度优化实践
开发语言·ide·rust
鹿鸣天涯1 小时前
网络安全等级保护测评高风险判定实施指引(试行)--2020与2025版对比
开发语言·php