Subarray

Subarray

Media

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

Apéndice

Note

Las instrucciones anteriores están sincronizadas con un repositorio compartido para garantizar la coherencia entre todos los tracks de lenguajes. Este apéndice ofrece aclaraciones adicionales o modifica las instrucciones según sea necesario para ajustarse mejor a los objetivos del track de Clojure.

Para este ejercicio en el track de Clojure, puedes asumir que la entrada es un vector, tal como indican los tests.

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

¿Listo para empezar Subarray?

Regístrate en Exercism para aprender y dominar Clojure con 12 conceptos105 ejercicios y mentoría humana real, todo gratis.