方法一 排序+哈希Map
首先用一个数组保存排序完的原数组,然后用一个哈希表保存各元素的序号,最后将原属组的元素替换为序号后返回。
var arrayRankTransform = function(arr) {
let set = new Set(arr)
let sortArr=Array.from(set).sort((a,b)=>a-b)
let map = new Map(sortArr.map((v,i)=>[v,i+1]))
return arr.map(i=>map.get(i))
};
消耗时间和内存情况: