转载

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

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

题目:数组相对排序

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

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

例一

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

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

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

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

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

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

原文  http://codechina.org/2019/07/leetcode-1122-relative-sort-array-sort-java/
正文到此结束
Loading...