diff --git a/medium/sort_the_jumbled_numbers.py b/medium/sort_the_jumbled_numbers.py new file mode 100644 index 0000000..c35a26b --- /dev/null +++ b/medium/sort_the_jumbled_numbers.py @@ -0,0 +1,18 @@ +# https://leetcode.com/problems/sort-the-jumbled-numbers +from typing import List + +class Solution: + def sortJumbled(self, mapping: List[int], nums: List[int]) -> List[int]: + def convert(val: int) -> int: + ret = 0 + base = 1 + while val >= 10: + ret += mapping[val % 10] * base + base *= 10 + val //= 10 + ret += mapping[val % 10] * base + return ret + return [ + nums[i] for i in sorted(range(len(nums)), + key=lambda i: (convert(nums[i]), i)) + ]