Haskell:这段代码可以优化吗?

时间:2016-11-10 17:17:53

标签: haskell optimization

我有以下代码。我想知道是否有任何方法可以优化它以便它运行得更快。

我想用function generateSKU(inputField) { if (inputField) { return inputField.replace(" ","."); } } 解决它,但我不熟悉Haskell,这就是我采用以下列表(非树)方法的原因。

SegmentTree

感谢。

1 个答案:

答案 0 :(得分:2)

预先计算列表中每个前缀的频率。要计算子列表的频率,请减去以子列表两端结尾的两个前缀的频率。这将减少每个查询的成本,从O(n ^ 2)到O(n)。要计算频率,请使用计数排序。这样可以将预计算的成本从O(n ^ 2)降低到O(n log n)。