【发布时间】:2018-02-12 12:24:59
【问题描述】:
我们定义一个匹配的有序对如下:
给定某个整数 K,(a, b) 是一个匹配的有序对当且仅当 a + b = K 且 a ≤ b。
给定一个包含 N 个整数的数组。一些阵列很好,而另一些阵列很差。
的目标 问题是检查给定的数组是否是好的。
我们递归地定义一个 GOOD 数组: 一个空数组是好的。 考虑一个大小为 2 的数组 [a, b]。当且仅当 (a, b) 是匹配的有序对时,此数组才是 GOOD。
注意 那:即使 (b, a) 是匹配的有序对,这个数组也不是 GOOD。例如,如果 K = 10,则数组 [2, 8] 是 GOOD,而数组 [7, 3] 不是 GOOD。 包含在匹配有序对中的子数组是 GOOD。注意:匹配的有序对 数组中的格式必须为 (ai , aj ) 其中 i
以下是 K = 10 的 GOOD 数组的一些示例:
[1, 2, 3, 7, 8, 9], [1, 9, 3, 7], [1, 5, 5, 9, 3, 2, 8, 7]
以下是 K = 10 的 BAD 数组的一些示例:
[1, 2, 9, 8], [9, 2, 8, 1]
我无法解决这个 pratise 问题。我该如何处理?
【问题讨论】:
标签: arrays recursion linked-list