Solución
solution.tsTypeScript
// Map (key, value)
//
function countingSort(numbers: number[]): number[] {
if (!numbers.length) return [];
const maxValue: number = Math.max(...numbers);
let countArray = [];
for(let i = 0; i < maxValue + 1; i++){
countArray[i] = i;
}
let sortedArray = [];
// 4 2 2 8 3 3 1
// 1 2 3 4 5 6 7 8
for(let i = 0; i < countArray.length; i++) {
if (numbers.includes(i)){
const filterNumber = numbers.filter(num => num === i);
filterNumber.forEach(()=> {
sortedArray.push(i);
})
}
}
return sortedArray;
}
// No modificar: necesario para evaluar el resultado.
export { countingSort };0respuestas