LeetCode 1122. Relative Sort Array — JavaScript
Published in
Jun 14, 2024
領500元現金了嗎? 點選我的連結成功開樂天帳戶+登入樂天網銀APP,拿500元現金! 樂天帳戶好康在這 : · 使用行動支付5次,享次月活儲年息1.35%存額無上限 · VIP享每月免費跨提/轉共16次 · 提領日幣手續費優惠8次/月 (推薦序號: JGONGL)
https://www.rakuten-bank.com.tw/s/R775
https://leetcode.com/problems/relative-sort-array/description/
var relativeSortArray = function(arr1, arr2) {
const set2 = new Set(arr2), map1 = new Map(), result = [], rest = []
arr1.forEach(e=>{
if (set2.has(e)) {
map1.has(e) ? map1.set(e,map1.get(e)+1) : map1.set(e,1)
} else {
rest.push(e)
}
})
rest.sort((a,b)=>a-b)
arr2.forEach(e=>{
if(set2.has(e)) {
for (let i = 0; i < map1.get(e); i++) {
result.push(e)
}
}
})
return [...result,...rest]
};
依照 arr2 來排序 arr1 ,沒被排序到的 arr element 需要從小到大排列