サブリスト

サブリスト

中級

説明

2つの配列AとBが与えられたとき、次のどれに当てはまるかを判定します。

  • 配列Aが配列Bと等しい。または
  • 配列Aが配列Bを含んでいる(AはBのスーパーリスト)。または
  • 配列Aが配列Bに含まれている(AはBのサブリスト)。または
  • 上のどれにも当てはまらない。つまり、配列AとBは等しくない

具体的には、2つの配列が同じ順序で同じ値を持っていれば、配列Aは配列Bと等しいです。配列Aが、Bと等しい連続した値の部分列を含んでいれば、AはBのスーパーリストです。配列Bが、Aと等しい連続した値の部分列を含んでいれば、AはBのサブリストです。

例:

  • A = []とB = [](どちらの配列も空)の場合、AとBは等しいです
  • A = [1, 2, 3]とB = []の場合、AはBのスーパーリストです
  • A = []とB = [1, 2, 3]の場合、AはBのサブリストです
  • A = [1, 2, 3]とB = [1, 2, 3, 4, 5]の場合、AはBのサブリストです
  • A = [3, 4, 5]とB = [1, 2, 3, 4, 5]の場合、AはBのサブリストです
  • A = [3, 4]とB = [1, 2, 3, 4, 5]の場合、AはBのサブリストです
  • A = [1, 2, 3]とB = [1, 2, 3]の場合、AとBは等しいです
  • A = [1, 2, 3, 4, 5]とB = [2, 3, 4]の場合、AはBのスーパーリストです
  • A = [1, 2, 4]とB = [1, 2, 3, 4, 5]の場合、AとBは等しくありません
  • A = [1, 2, 3]とB = [1, 3, 2]の場合、AとBは等しくありません

レジスター

レジスター 用途 型 説明
$a0 入力 アドレス 配列1の要素
$a1 入力 整数 配列1のサイズ(ワード単位)
$a2 入力 アドレス 配列2の要素
$a3 入力 整数 配列2のサイズ(ワード単位)
$v0 出力 整数 0 = 同じ、1 = 同じでない、2 = 部分リスト、3 = 上位リスト
$t0-9 一時 任意 一時的な保存に使います
GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
MIPS Assembly Exercism

サブリストを始める準備はできましたか?

Exercismに登録すれば、70個の演習、そして本物の人間によるメンタリングとともに、MIPS Assemblyを学んでマスターできます。すべて無料です。