放假沒事也來寫寫看,真的好難 class Solution { public: vector<int> sortJumbled(vector<int>& mapping, vector<int>& nums) { set<Jumble, JumbleCmp> jumbleList; for (size_t i = 0; i < nums.size(); i++) { jumbleList.insert(toJumble(nums[i], i, mapping)); } vector<int> result; result.reserve(nums.size()); for (const Jumble& jumble : jumbleList) { result.push_back(jumble.original); } return result; } private: struct Jumble { int original; int jumbled; size_t order; }; struct JumbleCmp { bool operator()(const Jumble& lhs, const Jumble& rhs) const { if (lhs.jumbled == rhs.jumbled) { return lhs.order < rhs.order; } return lhs.jumbled < rhs.jumbled; } }; Jumble toJumble(int value, size_t order, const vector<int>& mapping) { int original = value; int result = 0; int factor = 1; do { int currentValue = value % 10; result += mapping[currentValue] * factor; value /= 10; factor *= 10; } while (value != 0); return {original, result, order}; } }; -- https://i.imgur.com/07Uv9NC.png https://i.imgur.com/YNJpGoH.png
https://i.imgur.com/G69mH5A.png https://i.imgur.com/ptaX5iW.png
https://i.imgur.com/hEeZuph.png https://i.imgur.com/mGTKAFz.png
https://i.imgur.com/gdejDOy.png https://i.imgur.com/JX7AHZc.png
https://i.imgur.com/X6Pgqgi.png https://i.imgur.com/mJ8dU86.png
-- ※ 發信站: 批踢踢實業坊(ptt-web.org.tw), 來自: 125.228.71.204 (臺灣) ※ 文章網址: https://ptt-web.org.tw/Marginalman/M.1721793222.A.894
sustainer123: 大師 07/24 11:54