Subarray

Subarray

Fácil

Instrucciones

Dados dos arrays cualesquiera, A y B, determina si:

  • El array A es igual al array B; o
  • El array A contiene el array B (es decir, A es un superarray de B); o
  • El array B contiene el array A (es decir, A es un subarray de B); o
  • Ninguna de las anteriores es cierta, así que los arrays A y B no son iguales

En concreto, el array A es igual al array B si ambos arrays tienen los mismos valores en el mismo orden. El array A es un superarray de B si A contiene una subsecuencia contigua de valores igual a B. El array A es un subarray de B si B contiene una subsecuencia contigua de valores igual a A.

Ejemplos:

  • Si A = [] y B = [] (ambos arrays están vacíos), entonces A y B son iguales
  • Si A = [1, 2, 3] y B = [], entonces A es un superarray de B
  • Si A = [] y B = [1, 2, 3], entonces A es un subarray de B
  • Si A = [1, 2, 3] y B = [1, 2, 3, 4, 5], entonces A es un subarray de B
  • Si A = [3, 4, 5] y B = [1, 2, 3, 4, 5], entonces A es un subarray de B
  • Si A = [3, 4] y B = [1, 2, 3, 4, 5], entonces A es un subarray de B
  • Si A = [1, 2, 3] y B = [1, 2, 3], entonces A y B son iguales
  • Si A = [1, 2, 3, 4, 5] y B = [2, 3, 4], entonces A es un superarray de B
  • Si A = [1, 2, 4] y B = [1, 2, 3, 4, 5], entonces A y B no son iguales
  • Si A = [1, 2, 3] y B = [1, 3, 2], entonces A y B no son iguales

Pruebas lentas

Una o varias de las pruebas de este ejercicio se han etiquetado como :slow, porque pueden tardar mucho en terminar. Por este motivo, el ejecutor de pruebas automatizado no las ejecutará en la plataforma. Si estás resolviendo este ejercicio directamente en la plataforma, en el editor web, quizá te convenga descargarlo a tu ordenador en su lugar. Así podrás ejecutar todas las pruebas y comprobar la eficiencia de tu solución.

Editar en GitHub El enlace se abre en una ventana o pestaña nueva
Elixir Exercism

¿Listo para empezar Subarray?

Regístrate en Exercism para aprender y dominar Elixir con 58 conceptos168 ejercicios y mentoría humana real, todo gratis.