Menu
CoddyTech

Product of Array Except Self

Se te proporciona un array de enteros nums. Devuelve un array answer de la misma longitud, donde answer[i] es el producto de todos los elementos de nums excepto el que está en el índice i. Hazlo en tiempo O(n) y sin usar la división.

Función

productExceptSelf(nums: integer-array) → integer-array
numsinteger-array
el arreglo de números enteros, con al menos dos elementos
Devuelveinteger-array
un array cuyo valor en el índice i es el producto de todos los elementos excepto nums[i]

Restricciones

  • 2 ≤ nums.length ≤ 104
  • -30 ≤ nums[i] ≤ 30
  • El producto de todos los valores distintos de cero de nums cabe en un entero con signo de 32 bits, así que todos los productos que calcules por el camino también caben.

Ejemplos

Entrada
nums = [2, 3, 4, 5]
Salida
[60, 40, 30, 24]
Explicación
Al omitir el 2, queda 3 × 4 × 5 = 60, y al omitir el 5, queda 2 × 3 × 4 = 24. Los dos del medio funcionan de la misma manera: 2 × 4 × 5 = 40 y 2 × 3 × 5 = 30.

lock icon+14 pruebas ocultas al enviar

challenge icon

Para ir más allá

¿Puedes usar solo espacio adicional O(1), sin contar el arreglo que devuelves?

Restablecer código
def productExceptSelf(nums):
    # Escribe el código aquí
Casos de prueba

Caso 1

Caso 2

Caso 3

Entrada

nums = [2, 3, 4, 5]

Esperado

[60, 40, 30, 24]