Menu
CoddyTech

Median of Two Sorted Arrays

Recibes dos listas de enteros, nums1 y nums2, cada una ordenada de menor a mayor y con al menos un valor. Devuelve la mediana de todos sus valores juntos, como texto.

Si la cantidad total es impar, la mediana es el valor central, como "4". Si es par, es el promedio de los dos valores centrales, como "2.5" o "-0.5". Escribe un número entero sin punto decimal, y el cero como "0", nunca como "-0". Intenta lograr un tiempo de O(log(min(m, n))).

Función

findMedianSortedArrays(nums1: integer-array, nums2: integer-array) → string
nums1integer-array
la primera lista, ordenada de menor a mayor
nums2integer-array
la segunda lista, ordenada de menor a mayor
Devuelvestring
la mediana de todos los valores, como texto, por ejemplo, «4» o «-2.5»

Restricciones

  • 1 ≤ nums1.length, nums2.length ≤ 3000
  • -106 ≤ nums1[i], nums2[i] ≤ 106
  • Ambas listas están ordenadas en orden no decreciente, y los valores pueden repetirse.

Ejemplos

Entrada
nums1 = [1, 4]nums2 = [2, 7, 9]
Salida
"4"
Explicación
En conjunto, los valores son 1, 2, 4, 7, 9. Cinco valores tienen un valor central, el tercero, que es 4.
challenge icon

Para ir más allá

¿Puedes usar el mismo corte para encontrar el k-ésimo valor más pequeño de las dos listas, para cualquier k, en tiempo logarítmico?

Restablecer código
def findMedianSortedArrays(nums1, nums2):
    # Escribe el código aquí

Prueba #1

Prueba #2

Prueba #3

Argumentos

nums1 = [1, 4]
nums2 = [2, 7, 9]

Salida Esperada

"4"