【发布时间】:2015-04-05 05:10:17
【问题描述】:
假设我有一个列表列表 列表 = [[1,2,3],[4,5,6],[7,8,9]] 我想计算列的总和。 即第一列是 [1,4,7] 并且它的总和是 12 第二列是 [2,5,8],总和是 15,依此类推
在标准 ML 中是否有任何有效的方法(复杂性较低)来做到这一点?请帮忙
【问题讨论】:
标签: ml
假设我有一个列表列表 列表 = [[1,2,3],[4,5,6],[7,8,9]] 我想计算列的总和。 即第一列是 [1,4,7] 并且它的总和是 12 第二列是 [2,5,8],总和是 15,依此类推
在标准 ML 中是否有任何有效的方法(复杂性较低)来做到这一点?请帮忙
【问题讨论】:
标签: ml
例如:
fun transpose [] = []
| transpose ([]::xss) = []
| transpose xss = map hd xss :: transpose (map tl xss)
val sum = foldl op+ 0
val sumsOfColumns = map sum o transpose
使用示例:
sumsOfColumns [[1,2,3],[4,5,6],[7,8,9]] (* => [12, 15, 18] *)
;)
【讨论】: