leetcode_easy_array1122. Relative Sort Array

Posted 鹅要长大

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode_easy_array1122. Relative Sort Array相关的知识,希望对你有一定的参考价值。

problem

1122. Relative Sort Array

solution1:

code

哈希表

 

solution2:

code:

思路

技术图片
解题思路:
首先解读题意。arr2的元素都是独一无二的,并且都所属于arr1。arr1中可能包含重复元素。目标是将arr1中的元素重新排序,排序规则是1)属于arr2的元素(part1)排序先于arr1其余不属于arr2的元素(part2);2)part1中arr1元素的顺序与arr2的元素顺序保持一致,part2的元素按照升序排列。

然后考虑边界情况,arr2元素为空时,直接返回排序的arr1;通常情况,根据arr2对arr1进行遍历,若arr1元素arr1[j]等于当前扫描的arr2的元素arr2[i],则与数组元素置换,num_idx记录已置换排好序的元素个数,即排序好的arr1的索引。遍历之后,对arr1剩余元素arr1[num_idx:end]进行排序。解法复杂度为O(m*n+n*log n),m为arr2的长度,n为arr1的数组长度。
View Code

 

 

参考

1. leetcode_1122. Relative Sort Array;

2. LeetCode | 1122. Relative Sort Array;

以上是关于leetcode_easy_array1122. Relative Sort Array的主要内容,如果未能解决你的问题,请参考以下文章

leetcode_easy_array1394. Find Lucky Integer in an Array

leetcode_easy_array1010. Pairs of Songs With Total Durations Divisible by 60

leetcode_easy_array1013. Partition Array Into Three Parts With Equal Sum

MemoryError: Unable to allocate 115. GiB for an array with shape (1122, 1122, 12288) and data type f

1122 Hamiltonian Cycle (25 分)

PAT 1122 Hamiltonian Cycle