Skip to content

Commit d958263

Browse files
committed
fix: house-robber
1 parent f297013 commit d958263

File tree

1 file changed

+12
-14
lines changed

1 file changed

+12
-14
lines changed

house-robber/dylan-jung.cpp

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,18 @@
1+
// TC: O(N), SC: O(1)
12
class Solution {
23
public:
3-
int dp[100] = { 0 };
44
int rob(vector<int>& nums) {
5-
dp[0] = nums[0];
6-
if(nums.size() >= 2) {
7-
dp[1] = nums[1];
5+
if (nums.size() == 1) return nums[0];
6+
7+
int prev2 = nums[0]; // dp[i-2]
8+
int prev1 = max(nums[0], nums[1]); // dp[i-1]
9+
10+
for (int i = 2; i < nums.size(); i++) {
11+
int cur = max(prev1, prev2 + nums[i]);
12+
prev2 = prev1;
13+
prev1 = cur;
814
}
9-
for(int i = 2; i < nums.size(); i++) {
10-
for(int j = 0; j < i-1; j++) {
11-
dp[i] = max(dp[j] + nums[i], dp[i]);
12-
}
13-
}
14-
int m = -1;
15-
for(int i = 0; i < nums.size(); i++) {
16-
m = max(dp[i], m);
17-
}
18-
return m;
15+
16+
return prev1;
1917
}
2018
};

0 commit comments

Comments
 (0)