如何从60%提高代码性能

时间:2018-10-01 06:17:06

标签: scala functional-programming

我正在其中一个编码挑战网站上解决一个简单的问题,我需要从数组中查找丢失的元素。

问题陈述是您拥有an input array from 1 to N+1 and you have to find the missing element from that array.

For example, given array A such that:

  A[0] = 2
  A[1] = 3
  A[2] = 1
  A[3] = 5
the function should return 4, as it is the missing element.

为解决这个问题,我编写了一个简单的函数来计算结果

def sol(a: Array[Int]): Int = {
  ((a.length+1)*(a.length+2)/2)-a.sum
}

但是,在提交解决方案时,我获得了100%的解决方案正确性,但对于60%的性能结果感到震惊。有人可以指出这一行代码中可以优化的任何部分吗,还是有其他方法可以达到这一目的的100%性能?

注意:我正在寻找功能样式代码。

0 个答案:

没有答案