LeetCode 第1122题 Relative Sort Array【排序】java

原题地址:https://leetcode.com/problems/relative-sort-array/

题目:数组相对排序

给定两个数组arr1和arr2,其中arr2的元素是没有重复的,而且在arr2的元素也都存在于arr1里。

排序arr1,使那些跟arr2一样的元素的排序方式于arr2统一,那些仅出现在arr1的元素,则以升序排列在arr1尾部。

例一

输入: arr1 = [2,3,1,3,2,4,6,7,9,2,19], arr2 = [2,1,4,3,9,6]
输出: [2,2,2,1,4,3,3,9,6,7,19]

有点繁琐,但是不难。首先我们把arr2全部元素放进hashmap。然后,循环arr1,统计所有在arr2的元素在arr1里面出现的次数。不在arr2的元素扔到others里。然后分别输出hashmap和others里面的元素即可。

耗时2 ms,比73.13%的Java代码快,我想应该没啥太大的复杂度问题了。

代码地址:https://github.com/tinyfool/leetcode/tree/master/src/p1122

其他排序相关题目,参照排序主题

打赏

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据