![]() |
1
2
如果使用正确的算法,使用array应该可以使它在大约0秒内工作。例如,在我的系统上,这大约需要7毫秒:
结果(在第二次调用时;第一次有一些开销):
|
![]() |
2
5
问题是
当scala集合变得专门化时,应该会更快。我不知道这是否足以打败你的第二个版本。
现在,你能做的就是利用
此外,当您用于理解时,您的代码有效地存储在为每个元素调用的方法中。因此,您还进行了许多方法调用,这是速度较慢的另一个原因。唉,有人为scala编写了一个插件,它至少优化了一个实例以避免出现这种情况。 |
![]() |
3
1
我认为你必须跳出框框思考:) 因为问题是可以处理的,所以可以使用 Sieve of Eratosthenes 有效地解决它。 |
![]() |
4
1
这是一个递归的解决方案(使用第一个解决方案中的isprime函数)。选择不变性(即尽量不使用
|