Skip to content

Commit 1f68a57

Browse files
committed
house-robber solution
1 parent de255d3 commit 1f68a57

1 file changed

Lines changed: 43 additions & 0 deletions

File tree

house-robber/togo26.js

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {number}
4+
*/
5+
/*
6+
TC: O(n)
7+
SC: O(n)
8+
*/
9+
var rob = function (nums) {
10+
const pocket = {};
11+
12+
for (let i = 0; i < nums.length; i++) {
13+
if (i === 0) {
14+
pocket[i] = nums[i];
15+
continue;
16+
}
17+
if (i === 1) {
18+
pocket[i] = Math.max(nums[i - 1], nums[i]);
19+
continue;
20+
}
21+
22+
pocket[i] = Math.max(pocket[i - 2] + nums[i], pocket[i - 1]);
23+
}
24+
25+
return Object.values(pocket).reduce((acc, cur) => Math.max(acc, cur), 0);
26+
};
27+
28+
/*
29+
TC: O(n)
30+
SC: O(1) -> variable used
31+
*/
32+
var rob = function (nums) {
33+
let prev2 = 0;
34+
let prev1 = 0;
35+
36+
for (let i = 0; i < nums.length; i++) {
37+
let temp = prev1;
38+
prev1 = Math.max(prev2 + nums[i], prev1);
39+
prev2 = temp;
40+
}
41+
42+
return prev1;
43+
};

0 commit comments

Comments
 (0)