LeetCode 1122. Relative Sort Array (数组的相对排序)

Posted 几米空间

tags:

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

题目标签:Sort

  先设立一个 size 1000 的 array cnt [], 把arr1 里面的数字 计数存入 cnt;

  遍历 arr2, 按照arr2 的顺序把 arr1 与 arr2 重复的数字 先存入 arr1;

  遍历 cnt,把 cnt 里面剩余的 arr1 剩下的数字 存入arr1;

  具体看code。   

 

Java Solution: 

Runtime:  0 ms, faster than 100.00 % 

Memory Usage: 38 MB, less than 100.00 %

完成日期:03/12/2020

关键点:建立 array cnt 计数

class Solution {
    public int[] relativeSortArray(int[] arr1, int[] arr2) {
        int[] cnt = new int[1001];
        // save counts from arr1 into cnt
        for(int n : arr1) 
            cnt[n]++;
        
        // put same arr2 numbers into arr1 from cnt according to arr2 order
        int i = 0;
        for(int n : arr2) {
            while(cnt[n]-- > 0){
                arr1[i++] = n;
            }
        }
        
        // put the rest number from arr1 into cnt; cnt is in order already.
        for(int n = 0; n < cnt.length; n++) {
            while(cnt[n]-- > 0) {
                arr1[i++] = n;
            }
        }
        
        return arr1;
    }
}

参考资料:LeetCode Discuss

LeetCode 题目列表 - LeetCode Questions List

题目来源:https://leetcode.com/

以上是关于LeetCode 1122. Relative Sort Array (数组的相对排序)的主要内容,如果未能解决你的问题,请参考以下文章

Golang语言LeetCode1122. Relative Sort Array

leetcode_easy_array1122. Relative Sort Array

LeetCode 1122. Relative Sort Array (数组的相对排序)

20.11.14 leetcode1122(自定义排序)

算法:1122. Relative Sort Array

算法: 获取两个数组的公共数字1122. Relative Sort Array