Untitled

 avatar
unknown
c_cpp
a year ago
798 B
10
Indexable
class Solution {
public:
    unordered_map<int,int> mp;
    vector<int> sortJumbled(vector<int>& mapping, vector<int>& nums) {
        vector<tuple<int,int,int>> a;
        for(auto i:nums){
            if(mp.count(i)) continue;
            if(i==0){
                mp[0]=mapping[0];
                continue;
            }
            int x=i; int cnt=1,res=0;
            while(x){
                int y=x%10;
                x/=10;
                res+=cnt*mapping[y];
                cnt*=10;
            }
            mp[i]=res;
        }
        for(int i=0;i<nums.size();i++){
            a.push_back(make_tuple(mp[nums[i]],i,nums[i]));
        }
        sort(a.begin(),a.end());
        for(int i=0;i<a.size();i++){
            nums[i]=get<2>(a[i]);
        }
        return nums;
    }
};
Editor is loading...
Leave a Comment