Skip to content

Commit b719faa

Browse files
committed
https://leetcode.cn/problems/soup-servings
1 parent aa57192 commit b719faa

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ Step 2. Add the dependency
4545

4646
<summary>展开查看</summary>
4747

48+
https://leetcode.cn/problems/soup-servings
49+
4850
https://leetcode.cn/problems/number-of-beautiful-partitions
4951

5052
https://leetcode.cn/problems/minimum-fuel-cost-to-report-to-the-capital

soup-servings/index.ts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import { memoize } from "../deps.ts";
2+
3+
export default function soupServings(n: number): number {
4+
n = Math.ceil(n / 25);
5+
if (n >= 179) {
6+
return 1.0;
7+
}
8+
const dfs = memoize(
9+
(a: number, b: number): number => {
10+
if (a <= 0 && b <= 0) {
11+
return 0.5;
12+
} else if (a <= 0) {
13+
return 1;
14+
} else if (b <= 0) {
15+
return 0;
16+
}
17+
18+
return (
19+
0.25 *
20+
(dfs(a - 4, b) +
21+
dfs(a - 3, b - 1) +
22+
dfs(a - 2, b - 2) +
23+
dfs(a - 1, b - 3))
24+
);
25+
},
26+
(a: number, b: number) => JSON.stringify([a, b]),
27+
);
28+
return dfs(n, n);
29+
}

0 commit comments

Comments
 (0)