子陣列

子陣列

中等

說明

給定任意兩個陣列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不相等

附錄

Note

上述的說明會與共享儲存庫保持同步,以確保所有語言軌道的內容一致。 這個附錄會視需要提供額外的說明,或調整指示內容,讓它更符合 Clojure 軌道的目標。

在 Clojure 軌道的這個練習中,你可以假設輸入是向量,如測試所示。

透過 GitHub 編輯 連結會在新視窗或分頁中開啟
Clojure Exercism

準備好開始 子陣列 了嗎?

註冊 Exercism,透過 12 個概念105 個練習 和真人引導來學習並精通 Clojure,全部免費。