Skip to content

Commit 4cbb78c

Browse files
committed
feat: update ts solution to lc problem: No.1710
1 parent a0f8841 commit 4cbb78c

File tree

3 files changed

+15
-30
lines changed

3 files changed

+15
-30
lines changed

solution/1700-1799/1710.Maximum Units on a Truck/README.md

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -151,18 +151,13 @@ func maximumUnits(boxTypes [][]int, truckSize int) (ans int) {
151151
#### TypeScript
152152

153153
```ts
154-
function maximumUnits(boxTypes: number[][], truckSize: number): number {
155-
boxTypes.sort((a, b) => b[1] - a[1]);
156-
let sum = 0;
154+
export function maximumUnits(boxTypes: number[][], truckSize: number): number {
155+
boxTypes.sort(([_, a], [__, b]) => b - a);
157156
let ans = 0;
158157
for (const [count, size] of boxTypes) {
159-
if (sum + count < truckSize) {
160-
ans += size * count;
161-
sum += count;
162-
} else {
163-
ans += (truckSize - sum) * size;
164-
break;
165-
}
158+
ans += Math.min(truckSize, count) * size;
159+
truckSize -= count;
160+
if (truckSize < 0) break;
166161
}
167162
return ans;
168163
}

solution/1700-1799/1710.Maximum Units on a Truck/README_EN.md

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -150,18 +150,13 @@ func maximumUnits(boxTypes [][]int, truckSize int) (ans int) {
150150
#### TypeScript
151151

152152
```ts
153-
function maximumUnits(boxTypes: number[][], truckSize: number): number {
154-
boxTypes.sort((a, b) => b[1] - a[1]);
155-
let sum = 0;
153+
export function maximumUnits(boxTypes: number[][], truckSize: number): number {
154+
boxTypes.sort(([_, a], [__, b]) => b - a);
156155
let ans = 0;
157156
for (const [count, size] of boxTypes) {
158-
if (sum + count < truckSize) {
159-
ans += size * count;
160-
sum += count;
161-
} else {
162-
ans += (truckSize - sum) * size;
163-
break;
164-
}
157+
ans += Math.min(truckSize, count) * size;
158+
truckSize -= count;
159+
if (truckSize < 0) break;
165160
}
166161
return ans;
167162
}
Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,10 @@
1-
function maximumUnits(boxTypes: number[][], truckSize: number): number {
2-
boxTypes.sort((a, b) => b[1] - a[1]);
3-
let sum = 0;
1+
export function maximumUnits(boxTypes: number[][], truckSize: number): number {
2+
boxTypes.sort(([_, a], [__, b]) => b - a);
43
let ans = 0;
54
for (const [count, size] of boxTypes) {
6-
if (sum + count < truckSize) {
7-
ans += size * count;
8-
sum += count;
9-
} else {
10-
ans += (truckSize - sum) * size;
11-
break;
12-
}
5+
ans += Math.min(truckSize, count) * size;
6+
truckSize -= count;
7+
if (truckSize < 0) break;
138
}
149
return ans;
1510
}

0 commit comments

Comments
 (0)