news 2026/5/1 8:16:20

力扣337 打家劫舍 III java实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣337 打家劫舍 III java实现

337.打家劫舍 III

小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为root

除了root之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。

给定二叉树的root。返回在不触动警报的情况下,小偷能够盗取的最高金额

示例 1:

输入:root = [3,2,3,null,3,null,1]输出:7解释:小偷一晚能够盗取的最高金额 3 + 3 + 1 = 7

示例 2:

输入:root = [3,4,5,1,3,null,1]输出:9解释:小偷一晚能够盗取的最高金额 4 + 5 = 9

提示:

  • 树的节点数在[1, 104]范围内
  • 0 <= Node.val <= 104

该题是二叉树形状的打家劫舍的问题,可以用递归来返回选或不选的问题,每层的递归返回一个数组,res[2],其中res[0]表示不选当前节点的最大值,即要计算可选左右孩子节点的最大和,res[1]表示选当前节点,不选当前节点的左右节点的值。

public static void main(String[] args) { // 测试用 TreeNode root = new TreeNode(3); root.left = new TreeNode(2); root.right = new TreeNode(3); root.left.right = new TreeNode(3); root.right.right = new TreeNode(1); System.out.println(rob(root)); } public static int rob(TreeNode root) { int[] res = helper(root); return Math.max(res[0], res[1]); } public static int[] helper(TreeNode root){ int[] res = new int[2]; if (root == null){ return res; } int[] left = helper(root.left); int[] right = helper(root.right); res[0] = Math.max(left[0], left[1]) + Math.max(right[0], right[1]); res[1] = root.val + left[0] + right[0]; return res; }

以上为记录分享用,代码较差请见谅

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/25 22:24:05

强烈安利8个AI论文平台,助你轻松搞定本科生毕业论文!

强烈安利8个AI论文平台&#xff0c;助你轻松搞定本科生毕业论文&#xff01; AI 工具让论文写作不再难 对于本科生来说&#xff0c;撰写毕业论文往往是一个既重要又棘手的任务。从选题到开题&#xff0c;从资料收集到初稿撰写&#xff0c;每一个环节都可能让人感到压力山大。而…

作者头像 李华
网站建设 2026/4/21 15:10:57

高效学术写作:8种基于AI的翻译与文本润色工具对比

&#xfffd;&#xfffd; 8款英文论文AI写作工具核心对比 工具名称 核心功能 处理速度 适合场景 独特优势 aibiye 降AIGC率查重 20分钟 学术论文优化 适配知网/维普检测规则 aicheck AIGC检测降重 20分钟 AI生成内容处理 双重检测降重一体化 askpaper 学术风格…

作者头像 李华
网站建设 2026/4/27 22:15:30

超详细的单元测试总结

一、何为单测 测试有黑盒测试和白盒测试之分&#xff0c;黑盒测试顾名思义就是我们不了解盒子的内部结构&#xff0c;我们通过文档或者对该功能的理解&#xff0c;指定了相应的输入参数&#xff0c;然后判断得出的结果是否正确。普通的用户、开发、QA都可以进行黑盒测试。 白…

作者头像 李华
网站建设 2026/5/1 8:11:52

2019年某机构研究奖项获奖名单揭晓

去年春天&#xff0c;某机构通知了2019年某机构研究奖项的获奖者。该资助计划为跨11个重点领域进行研究的学术研究人员提供高达80&#xff0c;000美元的现金和20&#xff0c;000美元的某云服务促销积分。今天&#xff0c;我们正式宣布这51位获奖者&#xff0c;他们来自10个国家…

作者头像 李华
网站建设 2026/5/1 8:13:09

事件驱动无服务器,Knative重塑原子化运算

传统云服务器常驻进程模式存在资源闲置、运维复杂等痛点&#xff0c;难以适配高频波动、碎片化任务需求。基于Knative的事件驱动无服务器架构&#xff0c;推动云服务器运算从“常驻进程”转向“时序粒子”&#xff0c;实现毫秒级弹性伸缩、按请求计费&#xff0c;重构原子化运算…

作者头像 李华