当前位置: 首页 > news >正文

LeetCode 不相邻最大和题解

LeetCode 不相邻最大和题解

题目描述

给定一个数组,计算不相邻元素的最大和。

示例

输入:nums = [1, 2, 3, 1]
输出:4

解题思路

方法:动态规划

思路

  • 使用动态规划,dp[i] 表示考虑前 i 个元素能获得的最大和。
  • dp[i] = max(dp[i-1], dp[i-2] + nums[i])。

复杂度分析

  • 时间复杂度:O(n)。
  • 空间复杂度:O(1)。

代码实现

def rob(nums): if not nums: return 0 if len(nums) == 1: return nums[0] prev2 = 0 prev1 = nums[0] for i in range(1, len(nums)): curr = max(prev1, prev2 + nums[i]) prev2 = prev1 prev1 = curr return prev1 # 测试 def test_rob(): nums = [1, 2, 3, 1] print(rob(nums)) # 输出:4 if __name__ == "__main__": test_rob()

总结

不相邻最大和是动态规划的典型应用,通过维护前两个状态来计算最大和。

http://www.cnnetsun.cn/news/2438093.html

相关文章:

  • 企业级应用如何借助Taotoken构建高可用的AI能力中台
  • 告别电脑噪音烦恼:Fan Control免费风扇控制软件完全指南
  • AVL树:自平衡二叉搜索树的奥秘
  • 通过curl快速调试stm32连接大模型api的常见网络问题
  • OpCore Simplify完全指南:零基础30分钟构建完美Hackintosh系统
  • 系统提示词工程化:使用Playground工具提升LLM指令调试效率
  • AMY-6M,具备-159dBm超高跟踪灵敏度与2.5m定位精度的超微型独立GPS模块
  • 论文辅导 | 一对一辅导,毕业论文/EI/SCI/SSCI、中文核心均可,辅导至论文顺利通过!
  • 终极Elsevier审稿追踪插件:5分钟实现智能投稿监控的完整指南
  • 智能体测试框架agenTest:融合功能与性能的自动化测试新范式
  • NotebookLM赋能能源转型:5个已被验证的清洁能源项目落地案例与数据模板
  • 终极指南:3分钟学会用VR-Reversal免费转换3D视频到2D格式
  • 为OpenClaw配置Taotoken作为模型供应商,快速启动AI智能体工作流
  • 【YOLO目标检测全栈实战】44 YOLO模型性能压测:从“凭感觉”到“有数据”的精准调优
  • 新手选电钢琴别瞎买!踩过3个坑才总结出的闭眼入攻略
  • LinkSwift:一站式网盘直链下载解决方案完全指南
  • 如何快速掌握STDF数据分析:半导体测试数据的完整可视化解决方案
  • BugLens:开源Bug可视化工具,提升分布式系统调试效率
  • FlashAttention 2--num_warps对性能的影响
  • 跟着 MDN 学 HTML day_62:(HTML调试与常见错误修复指南)
  • LeetCode 01矩阵中距离题解
  • LeetCode 太平洋大西洋水流题解
  • 网安0基础学习之计算机网络基础安全知识
  • 别再瞎调ADC采样率了!用STM32定时器触发,1us精准采集5KHz正弦波的保姆级配置
  • 别再只会用if-else了!用STM32状态机实现按键长短按与双击(附完整代码)
  • DLSS Swapper:三分钟掌握游戏性能优化的终极方案
  • 为什么你的 Agent Debug 成本比开发更高:可观测性缺失带来的灾难
  • 告别背包爆满!TQVaultAE:泰坦之旅装备管理的终极解决方案
  • GodotJS:用JavaScript/TypeScript开发Godot游戏的完整指南
  • 5分钟快速上手:用particles.js为网站添加惊艳粒子特效