l**a 发帖数: 43 | | S*********N 发帖数: 6151 | 2
有没有正负?
【在 l**a 的大作中提到】 : 求给定数组里任意三个数乘积的最大值
| l**a 发帖数: 43 | 3 would it be too easy without + and -?
【在 S*********N 的大作中提到】 : : 有没有正负?
| S*********N 发帖数: 6151 | 4
1. sort A
2. switch cases.
4. lol.
【在 l**a 的大作中提到】 : would it be too easy without + and -?
| y****i 发帖数: 23 | 5 假设就至少5个数,3&4比较容易解决
找出最大的3个数a1>a2>a3, 和最小的两个数 b1>b2
if a1<=0 //全部都是负数
return a1*a2*a3;
else if a2<=0 //a1>0 其余小于0
return a1*b1*b2;
else if a3<=0 // a1,a2>0
return a1*b1*b2;
else if b1<=0
return max(a1*a2*a3, a1*b1*b2);
else return a1*a2*a3;
O(n) |
|