首页 > 解决方案 > 如何加入两个列表 A 和 B,在保持结果列表中每个列表 A 和 B 的相对顺序的同时最大限度地减少重复项?

问题描述

我有两个字符串序列 A 和 B 输入作为列表,它们可能有也可能没有连续的重复项。

A = ['S','D','D','M','C','M']
B = ['D','D','S','C','C','M']

我想合并它们,同时尽量减少连续重复,同时保持每个序列 A 和 B 的顺序。

R = ['D','S','D','S','D','C','D','M','C','M','C','M']

我想找到一种动态编程方法来解决这个问题,但我不确定从哪里开始或如何在 python 中完成。

标签: pythonlistdynamicmerge

解决方案


我不确定你合并我们应该如何工作。我试过了

[k for k, v in itertools.groupby(heapq.merge(A, B))]

但这给了我:

['D', 'S', 'D', 'M', 'C', 'M', 'S', 'C', 'M']

推荐阅读