Részlista

Részlista

Közepes

Utasítások

Adott két lista, A és B. Döntsd el, hogy:

  • az A lista a B listával equal; vagy
  • az A lista tartalmazza a B listát (az A a B listának a superlistje); vagy
  • az A listát tartalmazza a B lista (az A a B listának a sublistje); vagy
  • a fentiek egyike sem igaz, tehát az A és a B lista unequal

Pontosabban: az A lista akkor equal a B listával, ha mindkét listában ugyanazok az értékek ugyanabban a sorrendben szerepelnek. Az A lista akkor superlistje a B listának, ha az A tartalmaz egy, a B listával equal értékekből álló összefüggő részsorozatot. Az A lista akkor sublistje a B listának, ha a B tartalmaz egy, az A listával equal értékekből álló összefüggő részsorozatot.

Példák:

  • Ha A = [] és B = [] (mindkét lista üres), akkor az A és a B lista equal
  • Ha A = [1, 2, 3] és B = [], akkor az A a B listának a superlistje
  • Ha A = [] és B = [1, 2, 3], akkor az A a B listának a sublistje
  • Ha A = [1, 2, 3] és B = [1, 2, 3, 4, 5], akkor az A a B listának a sublistje
  • Ha A = [3, 4, 5] és B = [1, 2, 3, 4, 5], akkor az A a B listának a sublistje
  • Ha A = [3, 4] és B = [1, 2, 3, 4, 5], akkor az A a B listának a sublistje
  • Ha A = [1, 2, 3] és B = [1, 2, 3], akkor az A és a B lista equal
  • Ha A = [1, 2, 3, 4, 5] és B = [2, 3, 4], akkor az A a B listának a superlistje
  • Ha A = [1, 2, 4] és B = [1, 2, 3, 4, 5], akkor az A és a B lista unequal
  • Ha A = [1, 2, 3] és B = [1, 3, 2], akkor az A és a B lista unequal

Függelék

Note

A fenti utasítások egy megosztott tárolóval vannak szinkronban, hogy minden nyelvi kurzuson egységesek legyenek. Ez a függelék további pontosítást ad, vagy szükség szerint módosítja az utasításokat, hogy jobban illeszkedjenek a Clojure-kurzus céljaihoz.

A Clojure-kurzuson ennél a feladatnál feltételezheted, hogy a bemenet egy vektor, ahogy a tesztek is jelzik.

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Clojure Exercism

Készen állsz elkezdeni a(z) Részlista feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Clojure nyelvet 12 fogalom105 feladat segítségével, valódi emberi mentorálással, mindez ingyen.