File tree Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * https://leetcode.com/problems/house-robber-ii/submissions/1686583649/
3
+ * @param {number[] } nums
4
+ * @return {number }
5
+ */
6
+ var rob = function ( nums ) {
7
+ if ( nums . length === 1 ) return nums [ 0 ] ;
8
+
9
+ // Helper to solve the linear house robber problem
10
+ function robLinear ( houses ) {
11
+ let prev1 = 0 ; // dp[i-1]
12
+ let prev2 = 0 ; // dp[i-2]
13
+
14
+ for ( let money of houses ) {
15
+ let temp = prev1 ;
16
+ prev1 = Math . max ( prev1 , prev2 + money ) ;
17
+ prev2 = temp ;
18
+ }
19
+
20
+ return prev1 ;
21
+ }
22
+
23
+ // Case 1: Exclude last house
24
+ let money1 = robLinear ( nums . slice ( 0 , nums . length - 1 ) ) ;
25
+ // Case 2: Exclude first house
26
+ let money2 = robLinear ( nums . slice ( 1 ) ) ;
27
+
28
+ return Math . max ( money1 , money2 ) ;
29
+ } ;
You can’t perform that action at this time.
0 commit comments