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/

相关推荐
跟着珅聪学java36 分钟前
spring boot +Elment UI 上传文件教程
java·spring boot·后端·ui·elementui·vue
我命由我1234541 分钟前
Spring Boot 自定义日志打印(日志级别、logback-spring.xml 文件、自定义日志打印解读)
java·开发语言·jvm·spring boot·spring·java-ee·logback
徐小黑ACG2 小时前
GO语言 使用protobuf
开发语言·后端·golang·protobuf
0白露3 小时前
Apifox Helper 与 Swagger3 区别
开发语言
Tanecious.4 小时前
机器视觉--python基础语法
开发语言·python
叠叠乐4 小时前
rust Send Sync 以及对象安全和对象不安全
开发语言·安全·rust
想跑步的小弱鸡4 小时前
Leetcode hot 100(day 3)
算法·leetcode·职场和发展
战族狼魂4 小时前
CSGO 皮肤交易平台后端 (Spring Boot) 代码结构与示例
java·spring boot·后端
niandb5 小时前
The Rust Programming Language 学习 (九)
windows·rust
Tttian6225 小时前
Python办公自动化(3)对Excel的操作
开发语言·python·excel