【发布时间】:2021-01-12 08:49:50
【问题描述】:
输入:
funcA [((0,'x'),1),((0,'y'),3),((1,'y'),3),((1,'z '),3),((2,'x'),2),((2,'y'),2)]
输出
[(0, 1, "x"), (0, 3, "y"), (1, 3, "yz"), (2, 2, "xy") ]
我正在尝试按起始节点和目标节点进行分组,然后是 concat 所有边缘名称(值如 'x'、'y'...)。所以输出顺序是[(start, end, "concat val"), ...]
如何用 Haskell 语言编写funcA??
我尝试了groupBy,列表理解,map 函数,但无法弄清楚。
【问题讨论】:
-
funcA [((0,'a'),0),((1,'b'),1),((0,'c'),0)]应该输出什么?我想知道需要分组的值是否在输入列表中总是相邻的。 -
我是的,所以,我需要先对其进行排序
标签: list haskell grouping list-comprehension higher-order-functions