Skip to content

Commit 7ebe3ac

Browse files
committed
https://leetcode.cn/contest/cnunionpay2022/problems/wMGN0t/
1 parent 76e8d32 commit 7ebe3ac

File tree

3 files changed

+37
-0
lines changed

3 files changed

+37
-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/contest/cnunionpay2022/problems/wMGN0t/
49+
4850
https://leetcode.cn/contest/cnunionpay2022/problems/6olJmJ/
4951

5052
https://leetcode.cn/problems/number-of-great-partitions

wMGN0t/index.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
function storedEnergy(
2+
storeLimit: number,
3+
power: number[],
4+
supply: number[][],
5+
): number {
6+
const { min, max } = Math;
7+
let sum = 0;
8+
let time = 0;
9+
for (let i = 0; i < power.length; i++) {
10+
while (time + 1 < supply.length && supply[time + 1][0] <= i) time++;
11+
if (power[i] > supply[time][2]) {
12+
sum = min(sum + power[i] - supply[time][2], storeLimit);
13+
} else if (power[i] < supply[time][1]) {
14+
sum = max(sum - supply[time][1] + power[i], 0);
15+
}
16+
}
17+
return sum;
18+
}
19+
export default storedEnergy;

wMGN0t/test.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { assertEquals } from "asserts";
2+
import storedEnergy from "./index.ts";
3+
Deno.test("storedEnergy", () => {
4+
const storeLimit = 10,
5+
power = [1, 3, 4, 3, 6],
6+
supply = [[0, 2, 3]],
7+
输出 = 4;
8+
assertEquals(storedEnergy(storeLimit, power, supply), 输出);
9+
});
10+
Deno.test("storedEnergy", () => {
11+
const storeLimit = 6,
12+
power = [6, 5, 2, 1, 0],
13+
supply = [[0, 1, 2], [2, 3, 3]],
14+
输出 = 0;
15+
assertEquals(storedEnergy(storeLimit, power, supply), 输出);
16+
});

0 commit comments

Comments
 (0)