码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 打家劫舍3(二叉树型)Java


    【力扣算法题】打家劫舍3-动态规划_哔哩哔哩_bilibili

    在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。
    计算在不触动警报的情况下,小偷一晚能够盗取的最高金额.

    1. static class TreeNode{
    2. private int val;
    3. private TreeNode left;
    4. private TreeNode right;
    5. public TreeNode(int val, TreeNode left, TreeNode right) {
    6. this.val = val;
    7. this.left = left;
    8. this.right = right;
    9. }
    10. @Override
    11. public String toString() {
    12. return "TreeNode{" +
    13. "val=" + val +
    14. ", left=" + left +
    15. ", right=" + right +
    16. '}';
    17. }
    18. }
    19. public static void main(String[] args) {
    20. TreeNode node5 = new TreeNode(1, null, null);
    21. TreeNode node4 = new TreeNode(3, null, null);
    22. TreeNode node3 = new TreeNode(3, null, node5);
    23. TreeNode node2 = new TreeNode(5, null, node4);
    24. TreeNode node1 = new TreeNode(3, node2, node3);
    25. int[] dfs = dfs(node1);
    26. System.out.println(Math.max(dfs[0], dfs[1]));
    27. }
    28. private static int[] dfs(TreeNode node) {
    29. if (node == null) {
    30. return new int[]{0, 0};
    31. }
    32. int[] l = dfs(node.left);
    33. int[] r = dfs(node.right);
    34. int select = node.val + l[1] + r[1];
    35. int notSelect = Math.max(l[0], l[1]) + Math.max(r[0], r[1]);
    36. return new int[]{select, notSelect};
    37. }

    8

  • 相关阅读:
    Win10卸载KB5014699补丁教程
    数字反转(蓝桥杯)
    Spring Cloud 架构设计之linux yum redis
    Java 工具库Hutool
    动态内存分配
    实现一个博客系统(前端页面设计)
    计算机设计大赛 深度学习的动物识别
    Libgdx游戏开发(3)——通过柏林噪音算法地图随机地形
    ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
    报错-mmdet/cuda编译报错: fatal error: THC/THC.h: No such file or directory
  • 原文地址:https://blog.csdn.net/wfdfg/article/details/133150724
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号