Sublista

Sublista

Intermedia

Instrucciones

Dadas dos listas cualesquiera A y B, determina si:

  • La lista A es igual a la lista B; o
  • La lista A contiene la lista B (la lista A es una superlista de B); o
  • La lista A está contenida en la lista B (la lista A es una sublista de B); o
  • Ninguna de las anteriores es verdadera, así que las listas A y B no son iguales

En concreto, la lista A es igual a la lista B si ambas listas tienen los mismos valores en el mismo orden. La lista A es una superlista de B si A contiene una subsecuencia contigua de valores igual a B. La lista A es una sublista de B si B contiene una subsecuencia contigua de valores igual a A.

Ejemplos:

  • Si A = [] y B = [] (ambas listas están vacías), entonces A y B son iguales
  • Si A = [1, 2, 3] y B = [], entonces A es una superlista de B
  • Si A = [] y B = [1, 2, 3], entonces A es una sublista de B
  • Si A = [1, 2, 3] y B = [1, 2, 3, 4, 5], entonces A es una sublista de B
  • Si A = [3, 4, 5] y B = [1, 2, 3, 4, 5], entonces A es una sublista de B
  • Si A = [3, 4] y B = [1, 2, 3, 4, 5], entonces A es una sublista 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 una superlista 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 de arriba están sincronizadas con un repositorio compartido para garantizar la consistencia entre todos los tracks de lenguajes. Este apéndice ofrece aclaraciones adicionales o modifica las instrucciones según sea necesario para alinearlas mejor con los objetivos del track de Clojure.

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

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

¿Todo listo para empezar Sublista?

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