假设我们有一个包含 n 个元素的数组 A。Amal 有 n 个朋友,他的第 i 个朋友有 A[i] 块糖果。Amal 的朋友们不喜欢他们拥有不同数量的糖果。所以 Amal 执行以下操作集恰好一次 - Amal 选择 k (0 ≤ k ≤n) 个任意朋友 Amal 将他们的 A[i1] + A[i2] + ... + A[ik] 块糖果分发给所有 n 个朋友。在分发 A[i1] + A[i2] + ... + A[ik] 块糖果的过程中,他为每一块糖果选择新的主人。这可以是任何一个 n 个朋友。(任何糖果都可以给任何人,... 阅读更多
假设我们有一个包含 n 个元素的数组 A。我们可以创建一个包含 n 个旧数组副本的新数组,并将元素首尾相连。我们必须找到新数组中最长递增子序列的长度?我们知道,如果 p 可以通过移除零个或多个元素从 b 中获得,则序列 p 是数组 b 的子序列。数组的最长递增子序列是其元素按严格递增顺序排序的最长子序列。问题类别数据结构中的数组是有限的元素集合... 阅读更多
假设我们有一个包含 n 个元素的数组 A。游戏中共有 n 名运动员。他们从 1 到 n 编号,并按从左到右的顺序排列。每个运动员 i 的力量为 A[i]。我们想将所有运动员分成两队。每个队必须至少有一名运动员,并且每个运动员必须恰好在一个队中。我们希望第一队的最强运动员与第二队的最弱运动员的差异尽可能小。我们必须找到他们之间力量的最小差异,如上所述。问题... 阅读更多
假设我们有两个大小分别为 n 的数组 A 和 B。有 n 件礼物,我们想把它们送给一些孩子。第 i 件礼物有 A[i] 块糖果和 B[i] 个橙子。在一个移动中,我们可以选择一些礼物并执行以下操作之一- 从这件礼物中取出恰好一块糖果(如果可用);从这件礼物中取出恰好一个橙子(如果可用);从这件礼物中取出恰好一块糖果和一个橙子(如果可用)。所有礼物都应该相等。这意味着在进行一些移动序列后,以下两个条件应该满足:... 阅读更多