Open Ray-56 opened 4 years ago
桶排序
/**
* @param {number[]} arr1
* @param {number[]} arr2
* @return {number[]}
*/
var relativeSortArray = function(arr1, arr2) {
const bucket = {};
const ret = [];
for (let i = 0; i < arr1.length; i++) {
if (bucket[arr1[i]]) {
bucket[arr1[i]]++;
} else {
bucket[arr1[i]] = 1;
}
}
for (let i = 0; i < arr2.length; i++) {
while (bucket[arr2[i]]) {
ret.push(arr2[i]);
bucket[arr2[i]]--;
}
}
for (let key in bucket) {
while (bucket[key]) {
ret.push(key);
bucket[key]--;
}
}
return ret;
};
1122. 数组的相对排序
给你两个数组,arr1 和 arr2,
对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序相同。未在 arr2 中出现过的元素需要按照升序放在 arr1 的末尾。 示例 :
提示: