【发布时间】:2021-02-02 10:33:43
【问题描述】:
假设你有以下列表
a_list = [1, 2, 3, 4, 8, 7, 6]
我们希望找到最小“数量”递增序列,其中包含从列表任一侧的列表中的所有元素。
对于上面的例子,我们会得到
序列 = [[1,2,3,4,8], [6,7]]
答案为 2。这是因为我们可以形成一个从左到右的递增序列[1,2,3,4,8]。我们也可以形成一个从右到左的递增序列为[6,7]。
我考虑过创建两个列表,分别给出列表的所有递增序列和列表的倒序
left_to_right = [[1,2,3,4,8],[7], [6]]
right_to_left = [[6,7,8], [4], [3], [2], [1]]
但我不确定从那里去哪里。有什么想法吗?
【问题讨论】:
-
我不明白这个问题。答案不是总是 2吗?你能举一个答案不是 2 的列表的例子吗?
-
@Stef [1, 10, 2, 9, 3, 8] 例如
-
@Neil 在这种情况下答案是什么?开头有一个递增序列[1, 10],结尾有[8]。
-
@Stef 我在 OP 中没有看到任何关于开始和结束的问题,只有“从左”和“从右”。所以我的答案是 3:[[1,10],[2,9],[3,8]]
-
OP的例子也支持这种解释
标签: python python-3.x algorithm sequence