Sous-liste

Sous-liste

Moyen

Instructions

Étant donné deux tableaux A et B quelconques, détermine si :

  • le tableau A est égal au tableau B ; ou
  • le tableau A contient le tableau B (A est un super-tableau de B) ; ou
  • le tableau A est contenu dans le tableau B (A est un sous-tableau de B) ; ou
  • aucune de ces propositions n'est vraie, donc les tableaux A et B sont différents

Plus précisément, le tableau A est égal au tableau B si les deux tableaux contiennent les mêmes valeurs dans le même ordre. Le tableau A est un super-tableau de B si A contient une sous-séquence contiguë de valeurs égale à B. Le tableau A est un sous-tableau de B si B contient une sous-séquence contiguë de valeurs égale à A.

Exemples :

  • si A = [] et B = [] (les deux tableaux sont vides), alors A et B sont égaux
  • si A = [1, 2, 3] et B = [], alors A est un super-tableau de B
  • si A = [] et B = [1, 2, 3], alors A est un sous-tableau de B
  • si A = [1, 2, 3] et B = [1, 2, 3, 4, 5], alors A est un sous-tableau de B
  • si A = [3, 4, 5] et B = [1, 2, 3, 4, 5], alors A est un sous-tableau de B
  • si A = [3, 4] et B = [1, 2, 3, 4, 5], alors A est un sous-tableau de B
  • si A = [1, 2, 3] et B = [1, 2, 3], alors A et B sont égaux
  • si A = [1, 2, 3, 4, 5] et B = [2, 3, 4], alors A est un super-tableau de B
  • si A = [1, 2, 4] et B = [1, 2, 3, 4, 5], alors A et B sont différents
  • si A = [1, 2, 3] et B = [1, 3, 2], alors A et B sont différents

Annexe

Note

Les instructions ci-dessus sont synchronisées avec un dépôt partagé afin de garantir la cohérence entre tous les parcours linguistiques. Cet appendice apporte des précisions supplémentaires ou modifie les instructions si nécessaire, pour mieux les aligner sur les objectifs du parcours Clojure.

Pour cet exercice dans le parcours Clojure, tu peux supposer que l'entrée est un vecteur, comme l'indiquent les tests.

Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Clojure Exercism

Prêt à commencer Sous-liste ?

Inscris-toi sur Exercism pour apprendre et maîtriser Clojure avec 12 concepts105 exercices, et un vrai mentorat humain, le tout gratuitement.