轨道
/
C++
C++
/
练习
/
子数组
子数组

子数组

中等

说明

给定任意两个数组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不相等
通过 GitHub 编辑 链接将在新窗口或新标签页中打开
C++ Exercism

准备好开始 子数组 了吗?

注册 Exercism,借助 19 个概念100 个练习 和真人导师指导,学习并掌握 C++,全部免费。