问题:
给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。
输入: [1,2,3]
输出: 6
输入: [1,2,3,4]
输出: 24
算法:
还没有看其他人怎么实现的这个功能,但是我自己写的程序耗时太多了。
我的思路是这样的,对于任意给定的一个数组(长度大于等于3的数组),这个数组是无序的,我们想要求三个数乘积的最大值,就可以先将这个数组排序。排序后的数组有以下这几种情况:
如果只有三个数,那么直接返回这三个数的乘积。
如果数组所有的数都是负数,那么就返回排序号最后三个数的乘积。