Skip to content

Commit 09f7223

Browse files
authored
optimized the js api use of counting_sort chapter for Math.max() (#1748)
* Update counting_sort.ts optimized the Math.max * Update counting_sort.ts * Update counting_sort.js * Update radix_sort.ts * Update radix_sort.js
1 parent e79a56f commit 09f7223

File tree

4 files changed

+6
-28
lines changed

4 files changed

+6
-28
lines changed

codes/javascript/chapter_sorting/counting_sort.js

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,7 @@
88
// 简单实现,无法用于排序对象
99
function countingSortNaive(nums) {
1010
// 1. 统计数组最大元素 m
11-
let m = 0;
12-
for (const num of nums) {
13-
m = Math.max(m, num);
14-
}
11+
let m = Math.max(...nums);
1512
// 2. 统计各数字的出现次数
1613
// counter[num] 代表 num 的出现次数
1714
const counter = new Array(m + 1).fill(0);
@@ -31,10 +28,7 @@ function countingSortNaive(nums) {
3128
// 完整实现,可排序对象,并且是稳定排序
3229
function countingSort(nums) {
3330
// 1. 统计数组最大元素 m
34-
let m = 0;
35-
for (const num of nums) {
36-
m = Math.max(m, num);
37-
}
31+
let m = Math.max(...nums);
3832
// 2. 统计各数字的出现次数
3933
// counter[num] 代表 num 的出现次数
4034
const counter = new Array(m + 1).fill(0);

codes/javascript/chapter_sorting/radix_sort.js

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,7 @@ function countingSortDigit(nums, exp) {
4141
/* 基数排序 */
4242
function radixSort(nums) {
4343
// 获取数组的最大元素,用于判断最大位数
44-
let m = Number.MIN_VALUE;
45-
for (const num of nums) {
46-
if (num > m) {
47-
m = num;
48-
}
49-
}
44+
let m = Math.max(... nums);
5045
// 按照从低位到高位的顺序遍历
5146
for (let exp = 1; exp <= m; exp *= 10) {
5247
// 对数组元素的第 k 位执行计数排序

codes/typescript/chapter_sorting/counting_sort.ts

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,7 @@
88
// 简单实现,无法用于排序对象
99
function countingSortNaive(nums: number[]): void {
1010
// 1. 统计数组最大元素 m
11-
let m = 0;
12-
for (const num of nums) {
13-
m = Math.max(m, num);
14-
}
11+
let m: number = Math.max(...nums);
1512
// 2. 统计各数字的出现次数
1613
// counter[num] 代表 num 的出现次数
1714
const counter: number[] = new Array<number>(m + 1).fill(0);
@@ -31,10 +28,7 @@ function countingSortNaive(nums: number[]): void {
3128
// 完整实现,可排序对象,并且是稳定排序
3229
function countingSort(nums: number[]): void {
3330
// 1. 统计数组最大元素 m
34-
let m = 0;
35-
for (const num of nums) {
36-
m = Math.max(m, num);
37-
}
31+
let m: number = Math.max(...nums);
3832
// 2. 统计各数字的出现次数
3933
// counter[num] 代表 num 的出现次数
4034
const counter: number[] = new Array<number>(m + 1).fill(0);

codes/typescript/chapter_sorting/radix_sort.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,7 @@ function countingSortDigit(nums: number[], exp: number): void {
4141
/* 基数排序 */
4242
function radixSort(nums: number[]): void {
4343
// 获取数组的最大元素,用于判断最大位数
44-
let m = Number.MIN_VALUE;
45-
for (const num of nums) {
46-
if (num > m) {
47-
m = num;
48-
}
49-
}
44+
let m: number = Math.max(... nums);
5045
// 按照从低位到高位的顺序遍历
5146
for (let exp = 1; exp <= m; exp *= 10) {
5247
// 对数组元素的第 k 位执行计数排序

0 commit comments

Comments
 (0)