LeetCode p337 House Robber III 题解
1.题目:
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.
题意:
一个小偷去一个呈树状分布的小区行窃。如果同时偷了父节点和他的子节点,
就会被警察发现。求在不被警察发现的情况下能够偷多少钱。
2.解题思路:
DP。从根向上,每次记得把节点的值更新为到此为止的最优值。
3.代码
1 |
|