Skip to content

Commit 56798a4

Browse files
committed
https://leetcode.cn/problems/ZbAuEH/
1 parent 22d3531 commit 56798a4

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ leetcode 测试
1010

1111
##### 包含的内容如下
1212

13+
https://leetcode.cn/problems/ZbAuEH/
14+
1315
https://leetcode.cn/problems/network-delay-time/
1416

1517
https://leetcode.cn/problems/maximum-number-of-pairs-in-array/

ZbAuEH/index.ts

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
function getMaximumNumber(moles: number[][]): number {
2+
moles.sort((a, b) => a[0] - b[0]);
3+
let first = 0;
4+
5+
let res = 0;
6+
while (moles.length) {
7+
const [t, x, y] = moles[0];
8+
9+
if (t === 0) {
10+
if (y === 1 && x == 1) first++;
11+
moles.shift();
12+
} else break;
13+
}
14+
15+
moles = [[0, 1, 1], ...moles];
16+
const len = moles.length;
17+
const dp = Array(len).fill(0).map(() => [0, 0]);
18+
for (let i = 1; i < len; i++) {
19+
const [t, x, y] = moles[i];
20+
dp[i][0] = Math.max(dp[i - 1][0], dp[i - 1][1]);
21+
for (let cnt = 0, j = i - 1; cnt < 10 && j >= 0; j--, cnt++) {
22+
if (
23+
Math.abs(x - moles[j][1]) + Math.abs(y - moles[j][2]) <=
24+
t - moles[j][0]
25+
) {
26+
dp[i][1] = Math.max(dp[i][1], dp[j][1] + 1);
27+
}
28+
}
29+
res = Math.max(res, dp[i][0], dp[i][1]);
30+
}
31+
return res + first;
32+
}
33+
export default getMaximumNumber;

0 commit comments

Comments
 (0)