给定一个长度为N的整数数组,只允许用乘法,计算任意(N-1)个数的组合乘积中最大的一组,并写出算法的时间复杂度。
最容易想到的就是通过一次遍历把所有(N-1)个数的组合找出来,分别计算他们的乘积,并比较大小。由于总共有N个(N-1)个数的组合,总的时间复杂度为O(N的2次方),显然这不是最好的解决办法。
且看下面的实现方法,当然也是比较简单的,毕竟没太多时间思考,他的时间复杂度只有O(N)。
当然肯定有其他的方式解决这个问题,blog友如果有好的方式可以贴出来分享。谢谢!