🔥🔥 Explicación y Resolución Del Ejercicio En Español Java | Python | PHP | JavaScript | C++ 🔥🔥
Lectura\n2191 Sort the Jumbled Numbers\nInput:   mapping = [8,9,4,0,2,1,3,5,7,6]  nums = [991,338,38]\nOutput:  respuesta = [338,38,991]\n\nExplicaci\xF3n:\n   
# Lectura\n2191 Sort the Jumbled Numbers\nInput:   mapping = [8,9,4,0,2,1,3,5,7,6]  nums = [991,338,38]\nOutput:  respuesta = [338,38,991]\n\n**Explicaci\xF3n:**\n    Se traduce el n\xFAmero 991 de la siguiente manera:\n        mapping[9] = 6, entonces todas las apariciones del d\xEDgito 9 se convertir\xE1n en 6.\n        mapping[1] = 9, entonces todas las apariciones del d\xEDgito 1 se convertir\xE1n en 9. \n        Por lo tanto, el valor mapeado de 991 es 669.\n\n**De manera similar:**\n338 se mapea a 007, o 7 despu\xE9s de eliminar los ceros iniciales.\n        38 se mapea a 07, que tambi\xE9n es 7 despu\xE9s de eliminar los ceros iniciales.\nComo 338 y 38 comparten el mismo valor mapeado, deben permanecer en el mismo orden relativo.\n\n **Por lo tanto, la lista ordenada es [338, 38, 991].**\n\n\n# Video\n\nhttps://youtu.be/I8X6Gg7nvac\n\nSi te gust\xF3 el contenido \xA1te invito a suscribirte!: \n\u2705https://www.youtube.com/@hermescoder?sub_confirmation=1\n\n\u2705 Informaci\xF3n sobre clases particulares de algoritmos y programaci\xF3n:\nhttps://www.instagram.com/p/CxvsUwYOzFx/\n\n# Pasos para realizar el algoritmo:\n\n**1.-** Declaramos una variable temporal que representa un arreglo bidimensional de enteros, y nos servir\xE1 para guardar el mapeo de los elementos\n\n**2.-**  Este paso se encarga de mapear cada n\xFAmero en el arreglo nums a su correspondiente representaci\xF3n seg\xFAn el arreglo mapping y almacenar el resultado en un arreglo temporal.\n\n**3.-** Ordenamos el arreglo temporal en base a la segunda columna.\n\n**4.-** Ajustamos el resultado y lo devolvemos\n\n# C\xF3digo \n\n```Java []\n\nclass Solution {\n    public int[] sortJumbled(int[] mapping, int[] nums) {\n        //paso#1\n        int[][] temporal = new int[nums.length][2];\n\n        //paso#2\n        for (int i = 0; i < nums.length; i++) {\n            String aux = "";\n            String numeroEvaluado = String.valueOf(nums[i]);\n            for (int j = 0; j < numeroEvaluado.length(); j++) {\n                aux += mapping[numeroEvaluado.charAt(j) - \'0\'];\n            }\n            temporal[i] = new int[]{nums[i], Integer.parseInt(aux)};\n        }\n\n        //paso#3\n        Arrays.sort(temporal, (a, b) -> a[1] - b[1]);\n\n        //paso#4\n        for (int i = 0; i < nums.length; i++) nums[i] = temporal[i][0];\n        return nums;\n    }\n}\n```\n\n```PHP []\nclass Solution {\n\n    /**\n     * @param Integer[] $mapping\n     * @param Integer[] $nums\n     * @return Integer[]\n     */\n    function sortJumbled($mapping, $nums) {\n        // paso #1\n    $temporal = array_fill(0, count($nums), array(0, 0));\n\n    // paso #2\n    for ($i = 0; $i < count($nums); $i++) {\n      $aux = "";\n      $numeroEvaluado = strval($nums[$i]);\n      for ($j = 0; $j < strlen($numeroEvaluado); $j++) {\n        $aux .= $mapping[$numeroEvaluado[$j] - \'0\'];\n      }\n      $temporal[$i] = array($nums[$i], intval($aux));\n    }\n\n    // paso #3\n    usort($temporal, function($a, $b) {\n      return $a[1] <=> $b[1];\n    });\n\n    // paso #4\n    for ($i = 0; $i < count($nums); $i++) {\n      $nums[$i] = $temporal[$i][0];\n    }\n    return $nums;\n    }\n}\n\n```\n\n```Python []\n\n```\n```JavaScript []\n/**\n * @param {number[]} mapping\n * @param {number[]} nums\n * @return {number[]}\n */\nvar sortJumbled = function(mapping, nums) {\n    // Paso #1\n  const temporal = new Array(nums.length).fill(0).map(() => new Array(2));\n\n  // Paso #2\n  for (let i = 0; i < nums.length; i++) {\n    let aux = "";\n    const numeroEvaluado = String(nums[i]);\n    for (let j = 0; j < numeroEvaluado.length; j++) {\n      aux += mapping[numeroEvaluado.charCodeAt(j) - 48]; // charCodeAt(j) - \'0\' equivalent\n    }\n    temporal[i] = [nums[i], parseInt(aux)];\n  }\n\n  // Paso #3\n  temporal.sort((a, b) => a[1] - b[1]);\n\n  // Paso #4\n  for (let i = 0; i < nums.length; i++) {\n    nums[i] = temporal[i][0];\n  }\n  return nums;\n};\n```\n\n```C++ []\nclass Solution {\npublic:\n    vector<int> sortJumbled(vector<int>& mapping, vector<int>& nums) {\n        // Paso #1: Crear un vector temporal para almacenar informaci\xF3n\n    std::vector<std::pair<int, int>> temporal(nums.size());\n\n    // Paso #2: Recorrer los n\xFAmeros y generar su valor mapeado\n    for (int i = 0; i < nums.size(); ++i) {\n      std::string aux = "";\n      std::string numeroEvaluado = std::to_string(nums[i]);\n      for (int j = 0; j < numeroEvaluado.length(); ++j) {\n        aux += std::to_string(mapping[numeroEvaluado[j] - \'0\']);\n      }\n      temporal[i] = {nums[i], std::stoi(aux)};\n    }\n\n    // Paso #3: Ordenar el vector temporal basado en el valor mapeado\n    std::sort(temporal.begin(), temporal.end(), \n              [](const std::pair<int, int>& a, const std::pair<int, int>& b) {\n                return a.second < b.second;\n              });\n\n    // Paso #4: Actualizar el vector original con los valores originales\n    for (int i = 0; i < nums.size(); ++i) {\n      nums[i] = temporal[i].first;\n    }\n\n    return nums;\n    }\n};\n```\n\n
['Array', 'PHP', 'Sorting', 'Python', 'C++', 'Java']