zoukankan      html  css  js  c++  java
  • 337_House Robber III

    The thief has found himself a new place for his thievery again. There is only one entrance to this area, called the "root." Besides the root, each house has one and only one parent house. After a tour, the smart thief realized that "all houses in this place forms a binary tree". It will automatically contact the police if two directly-linked houses were broken into on the same night.

    Determine the maximum amount of money the thief can rob tonight without alerting the police.

    Example 1:

         3
        / 
       2   3
            
         3   1
    

    Maximum amount of money the thief can rob = 3 + 3 + 1 = 7.

    Example 2:

         3
        / 
       4   5
      /     
     1   3   1
    

    Maximum amount of money the thief can rob = 4 + 5 = 9.

    一个二叉树,不能取相邻的两个数,求可以取到的树之和的最大值

    rob[2]中 rob[0]代表rob节点所能得到的最大值,rob[1]代表从rob的子节点到叶子节点所能得到的最大值。用类似深度优先的遍历,动态规划得出结果

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     public int val;
     *     public TreeNode left;
     *     public TreeNode right;
     *     public TreeNode(int x) { val = x; }
     * }
     */
    public class Solution {
        public int Rob(TreeNode root) {
            return dfs(root)[0];
        }
        
        public int[] dfs(TreeNode root)
        {
            int[] rob = {0, 0};
            if(root != null)
            {
                int[] leftRob = dfs(root.left);
                int[] rightRob = dfs(root.right);
                rob[1] = leftRob[0] + rightRob[0];
                rob[0] =  System.Math.Max(rob[1], leftRob[1] + rightRob[1] + root.val);
            }
            return rob;
        }
    }
  • 相关阅读:
    stl应用(map)或字典树(有点东西)
    圆与三角形的面积(sin())
    kmp(循环节)
    kmp(多次无重叠匹配)
    【WEB-INF】WEB-INF是Java的WEB应用的安全目录
    【viewResolver】 springmvc jsp
    【welcome-file-list】让默认页生效
    【filter】springmvc web.xml
    【JSF框架】 是一种标准
    【jpa】 引用包的问题
  • 原文地址:https://www.cnblogs.com/Anthony-Wang/p/5298978.html
Copyright © 2011-2022 走看看