子陣列

子陣列

簡單

說明

給定任意兩個陣列A和B,判斷下列何者成立:

  • 陣列A等於陣列B;或
  • 陣列A包含陣列B(A是B的超陣列);或
  • 陣列A被陣列B包含(A是B的子陣列);或
  • 以上皆非,因此陣列A和B不相等

具體來說,如果兩個陣列含有相同的值且順序相同,則陣列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,全部免費。