Skip to content

Commit 6ce3235

Browse files
committed
feat: add solutions to lc problem: No.0324
No.0324.Wiggle Sort II
1 parent 96d82d5 commit 6ce3235

File tree

4 files changed

+89
-1
lines changed

4 files changed

+89
-1
lines changed

solution/0300-0399/0324.Wiggle Sort II/README.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,37 @@ func wiggleSort(nums []int) {
233233
}
234234
```
235235

236+
### **JavaScript**
237+
238+
```js
239+
/**
240+
* @param {number[]} nums
241+
* @return {void} Do not return anything, modify nums in-place instead.
242+
*/
243+
var wiggleSort = function (nums) {
244+
let bucket = new Array(5001).fill(0);
245+
for (const v of nums) {
246+
bucket[v]++;
247+
}
248+
const n = nums.length;
249+
let j = 5000;
250+
for (let i = 1; i < n; i += 2) {
251+
while (bucket[j] == 0) {
252+
--j;
253+
}
254+
nums[i] = j;
255+
--bucket[j];
256+
}
257+
for (let i = 0; i < n; i += 2) {
258+
while (bucket[j] == 0) {
259+
--j;
260+
}
261+
nums[i] = j;
262+
--bucket[j];
263+
}
264+
};
265+
```
266+
236267
### **...**
237268

238269
```

solution/0300-0399/0324.Wiggle Sort II/README_EN.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,37 @@ func wiggleSort(nums []int) {
218218
}
219219
```
220220

221+
### **JavaScript**
222+
223+
```js
224+
/**
225+
* @param {number[]} nums
226+
* @return {void} Do not return anything, modify nums in-place instead.
227+
*/
228+
var wiggleSort = function (nums) {
229+
let bucket = new Array(5001).fill(0);
230+
for (const v of nums) {
231+
bucket[v]++;
232+
}
233+
const n = nums.length;
234+
let j = 5000;
235+
for (let i = 1; i < n; i += 2) {
236+
while (bucket[j] == 0) {
237+
--j;
238+
}
239+
nums[i] = j;
240+
--bucket[j];
241+
}
242+
for (let i = 0; i < n; i += 2) {
243+
while (bucket[j] == 0) {
244+
--j;
245+
}
246+
nums[i] = j;
247+
--bucket[j];
248+
}
249+
};
250+
```
251+
221252
### **...**
222253

223254
```
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {void} Do not return anything, modify nums in-place instead.
4+
*/
5+
var wiggleSort = function (nums) {
6+
let bucket = new Array(5001).fill(0);
7+
for (const v of nums) {
8+
bucket[v]++;
9+
}
10+
const n = nums.length;
11+
let j = 5000;
12+
for (let i = 1; i < n; i += 2) {
13+
while (bucket[j] == 0) {
14+
--j;
15+
}
16+
nums[i] = j;
17+
--bucket[j];
18+
}
19+
for (let i = 0; i < n; i += 2) {
20+
while (bucket[j] == 0) {
21+
--j;
22+
}
23+
nums[i] = j;
24+
--bucket[j];
25+
}
26+
};

solution/0900-0999/0952.Largest Component Size by Common Factor/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363

6464
**方法一:数学 + 并查集**
6565

66-
利用“试除法”,对 $nums$ 中的每个数 $v$ 分解因数,然后将每个因数 $i$ 与 v 合并,$v / i$ 与 $v$ 合并。此过程用并查集来维护连通分量。
66+
利用“试除法”,对 $nums$ 中的每个数 $v$ 分解因数,然后将每个因数 $i$ 与 $v$ 合并,$v / i$ 与 $v$ 合并。此过程用并查集来维护连通分量。
6767

6868
最后,遍历 $nums$ 中每个数 $v$,找出所在的连通分量,出现次数最多的连通分量就是所求的答案。
6969

0 commit comments

Comments
 (0)