トラック
/
WebAssembly
WebAssembly
/
演習
/
サブリスト
サブリスト

サブリスト

中級

説明

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は等しくありません

トラック固有の指示

入力リスト用のバッファは、線形メモリの64〜319バイト目を使います。 リストは、線形メモリ上に直接連結されたバイト配列です。

GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
WebAssembly Exercism

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

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