python - 如何加入两个列表 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 中完成。
解决方案
我不确定你合并我们应该如何工作。我试过了
[k for k, v in itertools.groupby(heapq.merge(A, B))]
但这给了我:
['D', 'S', 'D', 'M', 'C', 'M', 'S', 'C', 'M']
推荐阅读
- java - 在java中拆分文件
- c# - 在 c# SQL 中,字符串未被识别为有效的 DateTime
- python - 如何在 Orange 中按名称选择属性
- windows - WSL 更改某些应用程序的字体和颜色(nano、tmux、vim)
- database - 如何从微服务中的不同数据库中检索数据?
- django - 在 Django 中的特定时间间隔后打开特定网页
- python-3.x - 使用 for 循环输出到文本文件
- javascript - 使用 validator.js 进行电子邮件验证无法正常工作
- python - 多处理的内存消耗
- java - 哪种帐户报告工具最适合时间限制、动态查询和聚合