Class Solution
-
- All Implemented Interfaces:
public final class Solution2191 - Sort the Jumbled Numbers\.
Medium
You are given a 0-indexed integer array
mappingwhich represents the mapping rule of a shuffled decimal system.mapping[i] = jmeans digitishould be mapped to digitjin this system.The mapped value of an integer is the new integer obtained by replacing each occurrence of digit
iin the integer withmapping[i]for all0 <= i <= 9.You are also given another integer array
nums. Return the arraynumssorted in non-decreasing order based on the mapped values of its elements.Notes:
Elements with the same mapped values should appear in the same relative order as in the input.
The elements of
numsshould only be sorted based on their mapped values and not be replaced by them.
Example 1:
Input: mapping = 8,9,4,0,2,1,3,5,7,6, nums = 991,338,38
Output: 338,38,991
Explanation:
Map the number 991 as follows:
mapping9 = 6, so all occurrences of the digit 9 will become 6.
mapping1 = 9, so all occurrences of the digit 1 will become 9.
Therefore, the mapped value of 991 is 669.
338 maps to 007, or 7 after removing the leading zeros.
38 maps to 07, which is also 7 after removing leading zeros.
Since 338 and 38 share the same mapped value, they should remain in the same relative order, so 338 comes before 38.
Thus, the sorted array is 338,38,991.
Example 2:
Input: mapping = 0,1,2,3,4,5,6,7,8,9, nums = 789,456,123
Output: 123,456,789
Explanation: 789 maps to 789, 456 maps to 456, and 123 maps to 123. Thus, the sorted array is 123,456,789.
Constraints:
mapping.length == 100 <= mapping[i] <= 9All the values of
mapping[i]are unique.<code>1 <= nums.length <= 3 * 10<sup>4</sup></code>
<code>0 <= numsi< 10<sup>9</sup></code>
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
Modifier and Type Method Description final IntArraysortJumbled(IntArray mapping, IntArray nums)-
-
Method Detail
-
sortJumbled
final IntArray sortJumbled(IntArray mapping, IntArray nums)
-
-
-
-