LC1122 数组的相对顺序

搞一个标记数组,模拟扫一遍。
这么写很麻烦,后续还会有优化。

class Solution {
public:
    vector<int> relativeSortArray(vector<int>& arr1, vector<int>& arr2) {
        #define N 1000
        int cnt[N + 5] = {0};
        vector<int> temp, ans;
        for (int i = 0; i < arr2.size(); i++) {
            for (int j = 0; j < arr1.size(); j++) {
                if (arr2[i] == arr1[j]) {
                    ans.push_back(arr1[j]);
                    cnt[j] = 1;
                }
            }
        }
        for (int i = 0; i < arr1.size(); i++) {
            if (cnt[i]) continue;
            temp.push_back(arr1[i]);
        }
        sort(temp.begin(), temp.end());
        for (int i = 0; i < temp.size(); i++) {
            ans.push_back(temp[i]);
        }
        return ans;
    }
};

未完待续...

posted @ 2020-05-05 16:07  Lee先森的博客  阅读(102)  评论(0编辑  收藏  举报