1122. 数组的相对排序
题目描述
给你两个数组,arr1 和 arr2,
arr2中的元素各不相同arr2中的每个元素都出现在arr1中
对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序相同。未在 arr2 中出现过的元素需要按照升序放在 arr1 的末尾。
示例:
1 | |
提示:
arr1.length, arr2.length <= 10000 <= arr1[i], arr2[i] <= 1000arr2中的元素arr2[i]各不相同arr2中的每个元素arr2[i]都出现在arr1中
思路
- 将
arr2放入unordered_set中,可以快速进行arr1的查找 - 统计
arr1中在arr2出现的次数 - 没有出现的放在另外的
vector中 - 最后进行 桶排序 + 快速排序
1 | |
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!