Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- string map_back(vector<int> map, string s)
- {
- string new_s = "";
- for (char c : s)
- new_s += ('0' + map[c - '0']);
- return new_s;
- }
- string map_forward(vector<int> map, string s)
- {
- string new_s = "";
- for (char c : s)
- {
- int x = c - '0';
- for (int i = 0; i < map.size(); i++)
- if (map[i] == x)
- {
- new_s += i + '0';
- break;
- }
- }
- return new_s;
- }
- vector<string> strangeSort(vector<int> map, vector<string> nums)
- {
- for (int i = 0; i < nums.size(); i++)
- nums[i] = map_forward(map, nums[i]);
- sort(nums.begin(), nums.end(), [](const string& a, const string& b)
- {
- return stoi(a) < stoi(b);
- });
- for (int i = 0; i < nums.size(); i++)
- nums[i] = map_back(map, nums[i]);
- return nums;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement