Untitled
unknown
plain_text
a year ago
911 B
10
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