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
+ *
3
+ * @param {number[] } nums
4
+ * @param nums
5
+ *
6
+ * ํ์ด
7
+ * dp ๋ฐฐ์ด์ ์ฌ์ฉํด nums ๋ฐฐ์ด์ ๊ธธ์ด๋งํผ ์ด๊ธฐํํ๋ค.
8
+ * dp[0]์ nums[0]์ผ๋ก ์ด๊ธฐํํ๊ณ , dp[1]์ nums[0]๊ณผ nums[1] ์ค ํฐ ๊ฐ์ผ๋ก ์ด๊ธฐํํ๋ค.
9
+ * dp[2]๋ถํฐ๋ dp[i] = Math.max(dp[i-1], dp[i-2] + nums[i])๋ก ์ด๊ธฐํํ๋ค.
10
+ * dp[i-1]์ i๋ฒ์งธ ์ง์ ํธ์ง ์์ ๊ฒฝ์ฐ, dp[i-2] + nums[i]๋ i๋ฒ์งธ ์ง์ ํธ๊ณ i-1๋ฒ์งธ ์ง์ ํธ์ง ์์ ๊ฒฝ์ฐ์ด๋ค.
11
+ *
12
+ */
13
+
14
+ function rob ( nums : number [ ] ) : number {
15
+ const n = nums . length
16
+ if ( n === 0 ) return 0
17
+ if ( n === 1 ) return nums [ 0 ] ;
18
+
19
+ let dp0 = nums [ 0 ]
20
+ let dp1 = Math . max ( nums [ 0 ] , nums [ 1 ] ) ;
21
+
22
+ for ( let i = 2 ; i < n ; i ++ ) {
23
+ const curMaxValue = Math . max ( dp1 , dp0 + nums [ i ] ) ;
24
+ dp0 = dp1 ;
25
+ dp1 = curMaxValue ;
26
+ }
27
+
28
+ return dp1
29
+ } ;
You canโt perform that action at this time.
0 commit comments