LeetCode每日一题 (58)1122. 数组的相对排序

在这里插入图片描述
在这里插入图片描述


class Solution {
    
    
public:
    // 先对arr1数组每个元素进行计数,然后先将arr2里面的元素先放在result,然后将剩下的放入result
    vector<int> relativeSortArray(vector<int>& arr1, vector<int>& arr2) {
    
    
        vector<int>fg(1001,0);
        vector<int> result;
        for(int i=0;i<arr1.size();i++){
    
    
            fg[arr1[i]]++;
        }
        for(int i=0;i<arr2.size();i++){
    
    
            for(int j=0;j<fg[arr2[i]];j++){
    
    
                result.push_back(arr2[i]);
            }
            fg[arr2[i]]=0;
        }
        for(int i=0;i<fg.size();i++){
    
    
            if(fg[i]==0) continue;
            for(int j=0;j<fg[i];j++){
    
    
                result.push_back(i);
            }
        }
        return result;
    }
};

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45021180/article/details/109697964
今日推荐