Руководство по использованию алгоритма сортировки подсчетом в JavaScript

Поскольку мое время в качестве студента-программиста в школе Flatiron подходит к концу, я выполняю ежедневные задачи на HackerRank.com в качестве подготовки к будущим интервью. В центре внимания этой статьи будет решение вопроса HackerRank «Сортировка подсчета 1». Вопрос выглядит так:

По сути, создаваемая функция должна принимать массив в качестве параметра и возвращать массив частот со значениями в каждом индексе, связанным с частотой, с которой значение встречалось в исходном массиве. Первым шагом при этом является создание нового массива с тем же количеством индексов, что и массив, передаваемый в функцию.

function countingSort(arr) {
let frequencyArray = new Array(100).fill(0);
}

Достаточно просто. Обратите внимание, что «заполнение» должно быть включено, иначе значения в каждом из индексов останутся неопределенными, и массив останется пустым. Следующим шагом является повторение исходного массива, который принимает функция (arr), и увеличение числа в связанном индексе FrequencyArray на 1. Это можно сделать с помощью цикла for:

function countingSort(arr) {
let frequencyArray = new Array(100).fill(0);
for(let num of arr){
frequencyArray[num]++;
}
}

Наконец, когда цикл завершится и массив FrequencyArray будет содержать правильные счетчики, последним шагом будет возврат FrequencyArray.

function countingSort(arr) {
let frequencyArray = new Array(100).fill(0);
for(let num of arr){
frequencyArray[num]++
}
return frequencyArray;
}

Вот и все! Не слишком сложно для этого. Я хотел бы посмотреть, как другие решили эту проблему, поэтому, если вы придумали решение, отличное от моего, напишите об этом в комментариях. Обязательно подписывайтесь на меня и следите за будущими прохождениями испытаний HackerRank.

Больше контента на plainenglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Получите эксклюзивный доступ к возможностям написания и советам в нашем сообществе Discord.