Я выполняю эту задачу на leetcode.
Почему так, этот ответ принято?
Мой код:
/**
* @param {number[]} nums
* @return {string[]}
*/
var findRelativeRanks = function(nums) {
const map = new Map();
let result;
nums
.slice()
.sort((a, b) => b - a)
.forEach((num, i) => map.set(num, (i + 1).toString()));
result = nums.map(num => {
switch(map.get(num)) {
case "1":
return "Gold Medal";
case "2":
return "Silver Medal";
case "3":
return "Bronze Medal";
default:
return map.get(num);
}
})
return result;
};
Но если я просто удалю .slice()
, некоторые тестовые примеры не пройдут. Почему?