We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent a5f6ade commit 844f9fcCopy full SHA for 844f9fc
solution/0100-0199/0198.House Robber/Solution.ts
@@ -1,9 +1,14 @@
1
function rob(nums: number[]): number {
2
const n = nums.length;
3
- const f: number[] = Array(n + 1).fill(0);
4
- f[1] = nums[0];
5
- for (let i = 2; i <= n; ++i) {
6
- f[i] = Math.max(f[i - 1], f[i - 2] + nums[i - 1]);
7
- }
8
- return f[n];
+ const f: number[] = Array(n).fill(-1);
+ const dfs = (i: number): number => {
+ if (i >= n) {
+ return 0;
+ }
+ if (f[i] < 0) {
9
+ f[i] = Math.max(nums[i] + dfs(i + 2), dfs(i + 1));
10
11
+ return f[i];
12
+ };
13
+ return dfs(0);
14
}
0 commit comments