Sublista

Sublista

Fácil

Instruções

Dadas duas listas quaisquer, A e B, determine se:

  • A lista A é igual à lista B; ou
  • A lista A contém a lista B (A é uma superlista de B); ou
  • A lista A está contida na lista B (A é uma sublista de B); ou
  • Nenhuma das opções acima é verdadeira, portanto, as listas A e B são diferentes

Especificamente, a lista A é igual à lista B se as duas listas tiverem os mesmos valores na mesma ordem. A lista A é uma superlista de B se A contiver uma subsequência contígua de valores igual a B. A lista A é uma sublista de B se B contiver uma subsequência contígua de valores igual a A.

Exemplos:

  • Se A = [] e B = [] (as duas listas estão vazias), então A e B são iguais
  • Se A = [1, 2, 3] e B = [], então A é uma superlista de B
  • Se A = [] e B = [1, 2, 3], então A é uma sublista de B
  • Se A = [1, 2, 3] e B = [1, 2, 3, 4, 5], então A é uma sublista de B
  • Se A = [3, 4, 5] e B = [1, 2, 3, 4, 5], então A é uma sublista de B
  • Se A = [3, 4] e B = [1, 2, 3, 4, 5], então A é uma sublista de B
  • Se A = [1, 2, 3] e B = [1, 2, 3], então A e B são iguais
  • Se A = [1, 2, 3, 4, 5] e B = [2, 3, 4], então A é uma superlista de B
  • Se A = [1, 2, 4] e B = [1, 2, 3, 4, 5], então A e B são diferentes
  • Se A = [1, 2, 3] e B = [1, 3, 2], então A e B são diferentes

Testes lentos

Um ou mais testes deste exercício foram marcados com a tag :slow, porque podem demorar bastante para terminar. Por esse motivo, eles não serão executados na plataforma pelo executor de testes automatizado. Se você estiver resolvendo este exercício diretamente na plataforma, no editor web, talvez valha a pena baixar este exercício para a sua máquina. Assim, você poderá rodar todos os testes e verificar a eficiência da sua solução.

Editar via GitHub O link abre em uma nova janela ou aba
Elixir Exercism

Tudo pronto para começar Sublista?

Crie sua conta no Exercism para aprender e dominar Elixir com 58 conceitos168 exercícios e mentoria humana de verdade, tudo de graça.