LeetCode ---- 198. 打家劫舍 (java) 动态规划取舍问题开辟f[n]数组保存当前偷窃前n个房屋的最大金额。1. 最后状态f[n]的值可以对nums[n]取或者不取2. 转移方程为f[n] max( f[n-1], f[n-2] nums[n]) // 不取取 , n23. 初始条件f[0] nums[0],f[1] max(nums[0], nums[1])class Solution { public int rob(int[] nums) { int len nums.length; if(len 0) return 0; if(len 1) return nums[0]; if(len 2) return Math.max(nums[0],nums[1]); int[] f new int[len]; f[0] nums[0]; f[1] Math.max(nums[0],nums[1]); for(int i 2; ilen; i){ f[i] Math.max(f[i-1], f[i-2] nums[i]); } return f[len-1]; } }因为只用到前2个状态的值可以简化代码为class Solution { public int rob(int[] nums) { int len nums.length; if(len 0) return 0; if(len 1) return nums[0]; int f0 nums[0]; int f1 Math.max(nums[0],nums[1]); for(int i 2; ilen; i){ int f2 Math.max(f1, f0 nums[i]); f0 f1; f1 f2; } return f1; } }

相关新闻

最新新闻

TeleMem技术解析:大模型记忆增强原理与实践

TeleMem技术解析:大模型记忆增强原理与实践

1. 项目概述:TeleMem如何让大模型记忆能力飙升38%中国电信研究院最新发布的TeleMem技术,本质上是一种针对大语言模型的记忆增强模块。它通过动态记忆压缩算法和分层存储架构,在不改变模型参数量的前提下,将对话上下文的有效记忆长…

2026/7/28 20:27:24
RAG系统切片策略:优化检索增强生成的关键技术

RAG系统切片策略:优化检索增强生成的关键技术

1. RAG切片策略概述在构建基于检索增强生成(RAG)的系统时,切片策略是决定系统性能的关键因素之一。简单来说,切片策略就是如何将原始文档切分成适合检索的片段(chunks)。这看似简单的操作,实际上…

2026/7/28 20:27:24
Python+Vue全栈教学系统开发实战

Python+Vue全栈教学系统开发实战

1. 项目概述:PythonVue全栈教学系统开发实录 去年为本地培训机构开发在线编程教学平台时,我选择了DjangoVue的技术栈。这个组合在实现可视化编程教学功能时展现出惊人的生产力——Django的ORM能快速构建数据模型,Vue的响应式特性让前端交互变…

2026/7/28 20:27:24
ExifToolGUI图片元数据管理工具:免费开源的批量编辑终极指南

ExifToolGUI图片元数据管理工具:免费开源的批量编辑终极指南

ExifToolGUI图片元数据管理工具:免费开源的批量编辑终极指南 【免费下载链接】ExifToolGui A GUI for ExifTool 项目地址: https://gitcode.com/gh_mirrors/ex/ExifToolGui ExifToolGUI是一款功能强大的免费开源图片元数据管理工具,它基于强大的E…

2026/7/28 20:27:24
MySQL INSERT 导致的死锁分析

MySQL INSERT 导致的死锁分析

MySQL INSERT 导致的死锁分析 在MySQL的并发事务处理中,死锁是一个常见且棘手的问题。许多开发者认为死锁只会在 UPDATE 或 DELETE 操作中发生,但实际上 INSERT 语句也能导致死锁。本文将从原理出发,深入剖析INSERT导致死锁的机制&#xff0c…

2026/7/28 20:27:24
Bash Shell命令详解:从基础到高级应用

Bash Shell命令详解:从基础到高级应用

1. Shell命令基础概念解析在Bash环境中,Shell命令是与操作系统交互的核心手段。作为Unix/Linux系统的默认命令行解释器,Bash提供了丰富的命令集和灵活的交互方式。理解Shell命令的工作原理,是掌握Bash脚本编程的基础前提。Shell命令本质上分为…

2026/7/28 20:22:23

月新闻