Skip to content

Commit e011ee4

Browse files
author
Akash Rajpurohit
committed
🙍‍♂️ Day 23
1 parent 71431c5 commit e011ee4

File tree

2 files changed

+43
-0
lines changed

2 files changed

+43
-0
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333

3434
## Week 4 🚧
3535
1. [Unique Morse Code Words](https://leetcode.com/explore/challenge/card/november-leetcoding-challenge/567/week-4-november-22nd-november-28th/3540/) ➡️ [CPP Solution](Week4/uniqueMorseRepresentations.cpp)
36+
2. [House Robber III](https://leetcode.com/explore/challenge/card/november-leetcoding-challenge/567/week-4-november-22nd-november-28th/3541/) ➡️ [CPP Solution](Week4/rob.cpp)
3637

3738
## Week 5 🚧
3839
Coming soon...

Week4/rob.cpp

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
/**
2+
* Definition for a binary tree node.
3+
* struct TreeNode {
4+
* int val;
5+
* TreeNode *left;
6+
* TreeNode *right;
7+
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
8+
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
9+
* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
10+
* };
11+
*/
12+
class Solution {
13+
private:
14+
15+
int robHelper(TreeNode* node, unordered_map<TreeNode*, int>& robMap) {
16+
if(node == NULL) return 0;
17+
18+
if(robMap.count(node) > 0) return robMap.at(node);
19+
20+
21+
int withoutNode = robHelper(node->left, robMap) + robHelper(node->right, robMap);
22+
23+
int withNode = node->val;
24+
if(node->left) {
25+
withNode += robHelper(node->left->left, robMap);
26+
withNode += robHelper(node->left->right, robMap);
27+
}
28+
if(node->right) {
29+
withNode += robHelper(node->right->left, robMap);
30+
withNode += robHelper(node->right->right, robMap);
31+
}
32+
33+
robMap[node] = max(withNode, withoutNode);
34+
return robMap[node];
35+
36+
}
37+
public:
38+
int rob(TreeNode* root) {
39+
unordered_map<TreeNode*, int> robMap;
40+
return robHelper(root, robMap);
41+
}
42+
};

0 commit comments

Comments
 (0)