leetcode 213. House Robber II

小米MIUI 12免REC解锁Root:Magisk Manager与Fastboot实战指南 本文详细介绍了小米MIUI 12免REC解锁Root的完整流程,涵盖Magisk Manager与Fastboot的实战操作。从解锁前的准备工作到提取boot.img、Magisk修补技巧,再到Fastboot刷入全流程,提供了常见问题解决方案和进阶优化建议,帮助用户安全高效地获取Root权限。 阅读详情

You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed. All houses at this place are arranged in a circle. That means the first house is the neighbor of the last one. Meanwhile, adjacent houses have security system connected and it will automatically contact the police if two adjacent houses were broken into on the same night.

Given a list of non-negative integers representing the amount of money of each house, determine the maximum amount of money you can rob tonight without alerting the police.

Example 1:

Input: [2,3,2]
Output: 3
Explanation: You cannot rob house 1 (money = 2) and then rob house 3 (money = 2),
because they are adjacent houses.

198回顾:
给一个数组代表每个房子里的money,一个robber不能rob相邻的房子,问最大能得到多少money

这题是198题的拓展,198不是环状结构,这道题house是环状结构,也就是第0个和最后一个也算是相邻的,这两个也不能同时rob

思路:
两个dp数组,一个包含第0个house的money,dp1
一个不包含第0个house,dp2

dp1既然包含第0个就不能包含最后一个,所以返回的是
max(dp1[size - 2], dp2[size -1])

    int rob(vector<int>& nums) {
        if (nums.size() == 0) {
            return 0;
        }
        
        if (nums.size() <= 2) {
            return *std::max_element(nums.cbegin(), nums.cend());
        }
        
        vector<int> dp1(nums.size(), 0);
        vector<int> dp2(nums.size(), 0);
        
        dp1[0] = nums[0];
        dp1[1] = max(dp1[0], nums[1]);
        dp2[1] = nums[1];
        
        for (int i = 2; i < nums.size(); i++) {
            dp1[i] = max(dp1[i - 1], nums[i] + dp1[i - 2]);
            dp2[i] = max(dp2[i - 1], nums[i] + dp2[i - 2]);
        }
        
        return max(dp1[nums.size() - 2], dp2[nums.size() - 1]);
    }
JavaFx 教程 阅读详情

相关推荐

基于OpenAI Agents构建多智能体工作流:从原理到实战

多智能体系统(Multi-Agent System)是人工智能领域的重要分支,它通过多个智能体(Agent)的协作与交互,解决单一智能体难以处理的复杂任务。其核心原理在于将任务分解、分配与协调,每个智能体具备特定能力,通过通信机制实现信息共享与决策协同。在工程实践中,多智能体框架的价值在于提升任务处理效率、增强系统鲁棒性,并支持模块化开发。典型的应用场景包括自动化工作流编排、复杂问题求解以及人机协同交互。本文以OpenAI Agents SDK为例,深入探讨如何利用其提供的智能体(Agent)、会话(Ses

weixin_28725959的博客 606

LeetCode - 解题笔记 - 213 - House Robber II

基于此,需要同时判断两个初始值不同的策略链:其中一个抢第一个房子(那么第二个就不能抢),那么最佳结果要考察倒数第二个状态;其中一个不抢第一个房子(那么第二个房子一定要抢),最佳结果要考察倒数第一个状态。的变体,额外增加了一个条件:当抢第一个房子时,最后一个房子不能抢。Solution 1的Python实现。

支锦铭的博客 233

告别Keil手动分区!用CubeMX+VS Code一键生成带Bootloader的STM32 OTA工程

本文详细介绍了如何利用STM32CubeMX和VS Code实现STM32 OTA工程的自动化构建,告别传统Keil手动分区的繁琐流程。通过图形化配置Flash分区、自动生成链接脚本以及实现Bootloader跳转逻辑,开发者可以高效完成远程升级功能开发,显著提升嵌入式开发效率。

weixin_33720956的博客 390

[LeetCode] 213. House Robber II

原题链接: https://leetcode.com/problems/house-robber-ii/ House Robber 专题相关题目 198. House Robber 1. 题目介绍 You are a professional robber planning to rob houses along a street. Each house has a certain amount ...

Ber03的博客 307

态路小课堂丨三款800G光模块方案介绍—SR8/DR8/2FR4

800G QSFP-DD 2FR4光模块使用CWDM4波长(1271/1291/1311/1331nm),单通道速率为100G,通过MUX减小光纤的数目,其光学接口采用CS接口或双芯LC接口。

poposu的博客 2390

Python抓取摄像头图像,进行AI识别(一)

本文介绍了如何用Python获取海康威视摄像头的图像并进行AI识别。主要内容包括:1)准备工作,包括摄像头IP设置和密码重置方法;2)使用Python的Requests库通过ISAPI接口获取实时图像;3)示例代码展示如何保存摄像头图像。整个过程为后续AI图像识别提供了基础,通过简单的Python代码即可实现专业监控设备的图像采集功能。

Hahafantuan的博客 1517

LeetCode House Robber II

LeetCode House Robber II题目思路思路来源于Discuss。 一是在Robber这题中的O(n)解法; 二是在Robber这题中,我们只需要分别考虑包含了nums[0]和nums[n-1]的情况即可。 注意这里的包含并不是说Robber一定要偷num[0]或nums[n-1],只是说考虑进去的意思。代码#define max(a, b) ((a)>(b)?(a):(b))

Nightonke's Blog 1594

AVEVA PDMS 二次开发之PML实战:从宏到自定义窗体的效率提升

本文详细介绍了AVEVA PDMS二次开发中PML语言的应用,从基础宏编写到高级窗体开发,全面提升工程设计效率。通过实战案例展示如何利用PML实现批量操作、流程自动化和交互优化,帮助工程师快速掌握这一强大工具。

weixin_42549451的博客 341

Leetcode213-House Robber II

House Robber II Medium You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed. All houses at this place are arranged in a circle. That ...

盯裆猫的博客 297

WD西部数据2TB,2.5寸移动硬盘,因为磁头坏了,长时间通电导致划片划伤,维修过程通过反复更换磁头

WD西部数据2TB,2.5寸移动硬盘,因为磁头坏了,长时间通电导致划片划伤,维修过程通过反复更换磁头,才能利用专业设备,里面找到,镜像,把内容数据恢复出来。 1.说一下经历,借用的别人移动硬盘,去帮别人维修,拷数据出来,别人的文件,数据比较多,且复杂,而且是在PE系统,接口什么的是2.0,没有很好的思考就全选复制拷贝了; 2,拷贝的过程,极其慢,文件多,且文件有损坏,移动硬盘一直处于通电的状态,大概从下午,两点多开始100多G的数据,一直卡住,到,晚上7 。8点拷完还是没拷完。打开的时候就已经,就一直

weixin_43766920的博客 4303

Python爬虫实战:用Selenium+ChromeDriver批量抓取政府网站政策文件(附完整代码)

本文详细介绍了使用Python的Selenium和ChromeDriver进行政府网站政策文件批量抓取的实战技巧。从环境配置、动态页面元素定位到分页机制破解和反爬虫策略,提供了完整的解决方案和代码示例,帮助开发者高效获取结构化政策数据。

weixin_42531710的博客 268

Leetcode: House Robber II

After robbing those houses on that street, the thief has found himself a new place for his thievery so that he will not get too much attention. This time, all houses at this place are arranged in a cir

PacMan的专栏 443

【ODX介绍】-5-用于Flash刷写的ODX-F文件概述

用于Flash刷写的ODX-F文件概述

「汽车电子助手」的博客 2531

Leetcode 213. House Robber II(python+cpp)

Leetcode 213. House Robber II题目解法:动态规划 题目 You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed. All houses at this place are arranged i...

qq_37821701的博客 403

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

leetcode 213 : House Robber II

leetcode 213 : House Robber II

西施豆腐渣 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

LeetCode-213. House Robber II [C++][Java]

You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed. All houses at this place arearranged in a circle.That means the first house is the neighbor of the last one.

贫道绝缘子的博客 471

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【Leetcode】213. 打家劫舍II(House Robber II)

Leetcode - 213 House Robber II (Medium) 题目描述:一个小偷沿着一条环形的街偷窃,给定数组表示每家屋子的金额,如果偷窃连续的两间屋子就会触发警报,求在不触发警报的前提下,偷窃的最大金额。 Input: [2,3,2] Output: 3 Explanation: You cannot rob house 1 (money = 2) and then rob h...

厉兵秣码 203

LeetCode213:House Robber II

Note: This is an extension of House Robber. After robbing those houses on that street, the thief has found himself a new place for his thievery so that he will not get too much attention. This time

2589

LeetCode 213 House Robber II

题目描述Note: This is an extension of House Robber.After robbing those houses on that street, the thief has found himself a new place for his thievery so that he will not get too much attention. This time,

Yano_nankai的博客 1401

LeetCode //C - 213. House Robber II

【代码】LeetCode //C - 213. House Robber II。

Made in Code 1198

Leetcode 213 House Robber II

Leetcode 213 House Robber II题目思路代码 题目 You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed. All houses at this place are arranged in a circle. That means the first house is the neighbor of th

weixin_43796689的博客 190

LeetCode 213. House Robber II 题解

本题是打家劫舍问题的变种,主要考察对动态规划的理解和应用。由于房屋围成一圈,我们需要将问题分解为两个子问题,分别计算不偷窃第一个房屋和不偷窃最后一个房屋的情况,然后取最大值。动态规划的核心思想是:通过分解问题,将复杂的环形问题转化为两个线性问题,然后使用与打家劫舍 I 相同的方法解决每个子问题。这种方法不仅适用于打家劫舍 II 问题,还可以应用于许多其他需要分解问题的场景。掌握动态规划的思想,对于解决这类问题非常重要。

cannonjinx的博客 4226

【LeetCode】213. House Robber II

题目: After robbing those houses on that street, the thief has found himself a new place for his thievery so that he will not get too much attention. This time, all houses at this place are arranged in

Artemis96的博客 1020

Leetcode 213 House Robber II 抢劫最大金额

HouseRobber扩展:抢劫完那条街道上的房子之后,这个贼有找到了实施自己盗窃行动的另一个地点,这样他才不会引来太多注意。这次,这里的搜有房子排成了一个圆圈,这意味着第一个房子和最后一个房子也是挨着的。与此同时,房子的安保系统还是和之前那条街上的一样(不能同时抢劫两所相邻的房子,否则会报警)

(ง •̀_•́)ง 1353

LeetCode 213: House Robber II

https://notes.daiyuhe.com/leetcode-213-house-robber-ii/ House Robber II You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed. All hou...

daiyuhe的博客 309

【Leetcode】213. House Robber II 【动态规划】

213. House Robber II Note: This is an extension of House Robber. After robbing those houses on that street, the thief has found himself a new place for his thievery so that he will not get too

renxingzhadan的专栏 644
上一篇: leetcode 198. House Robber
下一篇: leetcode 188. Best Time to Buy and Sell Stock IV
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值