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/

相关推荐
zzzll11114 分钟前
Spring Boot 入门指南:从零开始构建微服务
spring boot·后端·微服务
YouonlyliveonceC12 分钟前
《大话数据结构》第4章实战:中缀表达式转后缀 + 后缀表达式求值(完整可运行实现)
算法
phoenix@Capricornus21 分钟前
从统计决策到贝叶斯估计
人工智能·算法·机器学习
运维行者_24 分钟前
企业带宽监控工具实战:网络流量分析与异常排查的5个关键能力
运维·服务器·开发语言·网络·分布式·后端·php
Patrick在香港26 分钟前
Python爬虫框架实战:优雅抓取香港政府公开API数据的通用方案
java·开发语言·爬虫·python·ai编程·数据可视化·可用性测试
AICDragon29 分钟前
1.8%就够了:K3的896个MoE专家,为什么激活率这么低反而是好事?
人工智能·算法
长栎32 分钟前
你用了五年的消息队列,不知道它背后站着中介者模式
后端
Gopher_HBo32 分钟前
路由注册:RouterGroup(routergroup.go)
后端
用户6081865279035 分钟前
Avalonia UI 控件样式定义的三种方式详解
后端
hey_sml35 分钟前
MySQL常用操作速记:从字符集到游标全解析
java·开发语言·mysql