小编VH-*_*NZZ的帖子

Haskell中两个累积和(cumsum)函数的复杂性

考虑以下两个累积和(cumsum)函数:

cumsum :: Num a => [a] -> [a]
cumsum [] = []
cumsum [x] = [x]
cumsum (x:y:ys) = x : (cumsum $ (x+y) : ys)
Run Code Online (Sandbox Code Playgroud)

cumsum' :: Num a => [a] -> [a]
cumsum' x = [sum $ take k x | k <- [1..length x]]
Run Code Online (Sandbox Code Playgroud)

当然,我更喜欢的定义cumsum到的cumsum',我知道,前者具有线性复杂度.

但为什么cumsum'还有线性复杂性呢?take本身具有线性复杂性在其参数的长度和k从运行1length x.因此,我预计二次复杂度为 cumsum'.

而且,常数cumsum'低于cumsum.这是由于后者的递归列表附加吗?

注意:欢迎任何累积金额的明智定义.

编辑:我正在测量执行时间(:set +s …

complexity-theory haskell ghci cumulative-sum

1
推荐指数
1
解决办法
277
查看次数

一个元素的数组上的Array.prototype.reduce()

在以下reduction + map操作中,没有。3让我感到困惑。谁能解释为什么

// 1
[1,2,3,4,5].filter(x => x==3).reduce((x, y) => y) // -> 3, all good

// 2
[1,2,3,4,5].filter(x => x<=3).reduce((x, y) => 0) // -> 0, still good

// 3
[1,2,3,4,5].filter(x => x==3).reduce((x, y) => 0) // -> 3, hello?
Run Code Online (Sandbox Code Playgroud)

换句话说:如何减少一个元素的数组而忽略0操作映射?最终,它将用于对象数组,因为对象数组.reduce((x,y) => y.attr)也返回y而不是y.attr用于单个元素数组。

javascript arrays reduction

1
推荐指数
1
解决办法
1846
查看次数

查找具有最高出现次数的地图值

我有一个 Map<Integer,Integer>

 1 10
 2 10
 3 20
 5 20
 6 11
 7 22
Run Code Online (Sandbox Code Playgroud)

如何找到地图的最大重复值?在这种情况下 - 即10和20.两种情况下重复计数为2.

java map

0
推荐指数
1
解决办法
4178
查看次数

Tomcat 是否实现或运行 Java Servlet 和 JavaServer Pages (JSP) 规范?

我正在学习 Apache Tomcat,但我不明白下面一行中的术语“实现” 。我认为 Tomcat运行Java Servlet 和 JavaServer Pages (JSP)。

Tomcat 实现 Sun Microsystems 的 Java Servlet 和 JavaServer Pages (JSP) 规范

Tomcat 是否实现运行Java Servlet 和 JavaServer Pages (JSP)?

java jsp tomcat servlets specifications

0
推荐指数
1
解决办法
670
查看次数