Subarray

Subarray

Medio

Istruzioni

Date due liste qualsiasi A e B, stabilisci se:

  • la lista A è uguale alla lista B; oppure
  • la lista A contiene la lista B (A è una superlista di B); oppure
  • la lista A è contenuta nella lista B (A è una sottolista di B); oppure
  • nessuna delle precedenti è vera, quindi le liste A e B sono diverse

In particolare, la lista A è uguale alla lista B se entrambe le liste hanno gli stessi valori nello stesso ordine. La lista A è una superlista di B se A contiene una sottosequenza contigua di valori uguale a B. La lista A è una sottolista di B se B contiene una sottosequenza contigua di valori uguale a A.

Esempi:

  • Se A = [] e B = [] (entrambe le liste sono vuote), allora A e B sono uguali
  • Se A = [1, 2, 3] e B = [], allora A è una superlista di B
  • Se A = [] e B = [1, 2, 3], allora A è una sottolista di B
  • Se A = [1, 2, 3] e B = [1, 2, 3, 4, 5], allora A è una sottolista di B
  • Se A = [3, 4, 5] e B = [1, 2, 3, 4, 5], allora A è una sottolista di B
  • Se A = [3, 4] e B = [1, 2, 3, 4, 5], allora A è una sottolista di B
  • Se A = [1, 2, 3] e B = [1, 2, 3], allora A e B sono uguali
  • Se A = [1, 2, 3, 4, 5] e B = [2, 3, 4], allora A è una superlista di B
  • Se A = [1, 2, 4] e B = [1, 2, 3, 4, 5], allora A e B sono diverse
  • Se A = [1, 2, 3] e B = [1, 3, 2], allora A e B sono diverse

Registri

Registro Utilizzo Tipo Descrizione
$a0 input indirizzo elementi del primo array
$a1 input intero dimensione del primo array, in word
$a2 input indirizzo elementi del secondo array
$a3 input intero dimensione del secondo array, in word
$v0 output intero 0 = equal, 1 = unequal, 2 = sublist, 3 = superlist
$t0-9 temporaneo qualsiasi usati per l'archiviazione temporanea
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
MIPS Assembly Exercism

Vuoi iniziare Subarray?

Iscriviti a Exercism per imparare e padroneggiare MIPS Assembly con 70 esercizi e il mentoring di persone reali, tutto gratis.