Sublista

Sublista

Médio

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

Registradores

Registrador Uso Tipo Descrição
$a0 entrada endereço elementos do array um
$a1 entrada inteiro tamanho do array um, em palavras
$a2 entrada endereço elementos do array dois
$a3 entrada inteiro tamanho do array dois, em palavras
$v0 saída inteiro 0 = igual, 1 = diferente, 2 = sublista, 3 = superlista
$t0-9 temporário qualquer usado para armazenamento temporário
Editar via GitHub O link abre em uma nova janela ou aba
MIPS Assembly Exercism

Tudo pronto para começar Sublista?

Crie sua conta no Exercism para aprender e dominar MIPS Assembly com 70 exercícios e mentoria humana de verdade, tudo de graça.