Skip to content

Commit 08068d6

Browse files
committed
feat: add js solution to lc problem: No.2134
1 parent 5cceb30 commit 08068d6

File tree

3 files changed

+49
-0
lines changed

3 files changed

+49
-0
lines changed

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

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,24 @@ function minSwaps(nums: number[]): number {
177177
}
178178
```
179179

180+
#### JavaScript
181+
182+
```js
183+
function minSwaps(nums) {
184+
const n = nums.length;
185+
const k = nums.reduce((a, b) => a + b, 0);
186+
let cnt = k - nums.slice(0, k).reduce((a, b) => a + b, 0);
187+
let min = cnt;
188+
189+
for (let i = k; i < n + k; i++) {
190+
cnt += nums[i - k] - nums[i % n];
191+
min = Math.min(min, cnt);
192+
}
193+
194+
return min;
195+
}
196+
```
197+
180198
#### Rust
181199

182200
```rust

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

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,24 @@ function minSwaps(nums: number[]): number {
179179
}
180180
```
181181

182+
#### JavaScript
183+
184+
```ts
185+
function minSwaps(nums) {
186+
const n = nums.length;
187+
const k = nums.reduce((a, b) => a + b, 0);
188+
let cnt = k - nums.slice(0, k).reduce((a, b) => a + b, 0);
189+
let min = cnt;
190+
191+
for (let i = k; i < n + k; i++) {
192+
cnt += nums[i - k] - nums[i % n];
193+
min = Math.min(min, cnt);
194+
}
195+
196+
return min;
197+
}
198+
```
199+
182200
#### Rust
183201

184202
```rust
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
function minSwaps(nums) {
2+
const n = nums.length;
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);
10+
}
11+
12+
return min;
13+
}

0 commit comments

Comments
 (0)