Untitled

 avatar
unknown
plain_text
a year ago
911 B
6
Indexable
class Solution {
public:
    vector<int> sortJumbled(vector<int>& mapping, vector<int>& nums) {
        vector<int> ans;
        vector<pair<int, int>> newNumArr;
        for (int i=0; i<nums.size(); ++i) {
            int times = 1;
            int newNum = 0;
            int num = nums[i];
            if (!num) newNum = mapping[num];
            while (num) {
                int digit = num % 10;
                int newDigit = mapping[digit];
                newNum += times * newDigit;
                times *= 10;
                num /= 10;
            }
            newNumArr.emplace_back(pair{newNum, i});
        }
        auto cmp = [](const pair<int, int> &lhs, const pair<int, int> &rhs){ return lhs.first < rhs.first; };
        sort(newNumArr.begin(), newNumArr.end(), cmp);
        for (auto &n : newNumArr) {
            ans.emplace_back(nums[n.second]);
        }
        return ans;
    }
};
Editor is loading...
Leave a Comment