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

サブリスト

初級

説明

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

時間のかかるテスト

この演習のテストには、終わるまでに時間がかかる可能性があるという理由で、:slowというタグが付けられているものがあります。そのため、プラットフォーム上では自動テストランナーによって実行されません。プラットフォームのウェブエディターでこの演習を直接解いている場合は、代わりにこの演習を自分のマシンにダウンロードすることを検討してみてください。そうすれば、すべてのテストを実行して、自分の解答の効率を確認できます。

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

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

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