Skip to content

Commit 5cceb30

Browse files
committed
feat: update ts solution to lc problem: No.2134
1 parent 5ad2330 commit 5cceb30

File tree

3 files changed

+27
-21
lines changed

3 files changed

+27
-21
lines changed

solution/2100-2199/2134.Minimum Swaps to Group All 1's Together II/README.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -163,15 +163,17 @@ func minSwaps(nums []int) int {
163163

164164
```ts
165165
function minSwaps(nums: number[]): number {
166-
const k = nums.reduce((a, b) => a + b, 0);
167-
let cnt = nums.slice(0, k).reduce((a, b) => a + b, 0);
168-
let mx = cnt;
169166
const n = nums.length;
170-
for (let i = k; i < n + k; ++i) {
171-
cnt += nums[i % n] - nums[(i - k + n) % n];
172-
mx = Math.max(mx, cnt);
167+
const k = nums.reduce((a, b) => a + b, 0);
168+
let cnt = k - nums.slice(0, k).reduce((a, b) => a + b, 0);
169+
let min = cnt;
170+
171+
for (let i = k; i < n + k; i++) {
172+
cnt += nums[i - k] - nums[i % n];
173+
min = Math.min(min, cnt);
173174
}
174-
return k - mx;
175+
176+
return min;
175177
}
176178
```
177179

solution/2100-2199/2134.Minimum Swaps to Group All 1's Together II/README_EN.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -165,15 +165,17 @@ func minSwaps(nums []int) int {
165165

166166
```ts
167167
function minSwaps(nums: number[]): number {
168-
const k = nums.reduce((a, b) => a + b, 0);
169-
let cnt = nums.slice(0, k).reduce((a, b) => a + b, 0);
170-
let mx = cnt;
171168
const n = nums.length;
172-
for (let i = k; i < n + k; ++i) {
173-
cnt += nums[i % n] - nums[(i - k + n) % n];
174-
mx = Math.max(mx, cnt);
169+
const k = nums.reduce((a, b) => a + b, 0);
170+
let cnt = k - nums.slice(0, k).reduce((a, b) => a + b, 0);
171+
let min = cnt;
172+
173+
for (let i = k; i < n + k; i++) {
174+
cnt += nums[i - k] - nums[i % n];
175+
min = Math.min(min, cnt);
175176
}
176-
return k - mx;
177+
178+
return min;
177179
}
178180
```
179181

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
function minSwaps(nums: number[]): number {
2-
const k = nums.reduce((a, b) => a + b, 0);
3-
let cnt = nums.slice(0, k).reduce((a, b) => a + b, 0);
4-
let mx = cnt;
52
const n = nums.length;
6-
for (let i = k; i < n + k; ++i) {
7-
cnt += nums[i % n] - nums[(i - k + n) % n];
8-
mx = Math.max(mx, cnt);
3+
const k = nums.reduce((a, b) => a + b, 0);
4+
let cnt = k - nums.slice(0, k).reduce((a, b) => a + b, 0);
5+
let min = cnt;
6+
7+
for (let i = k; i < n + k; i++) {
8+
cnt += nums[i - k] - nums[i % n];
9+
min = Math.min(min, cnt);
910
}
10-
return k - mx;
11+
12+
return min;
1113
}

0 commit comments

Comments
 (0)