取出最大的负数 min ,和 最小的正数 max。(如果没有负数,则执行B;如果没有正数,则执行C)
A1. 取出 n-2 个绝对值最大的不为0的数字相乘,得到结果 result。如果等于 0,那么最小乘积就是 0.
A2. 取出绝对值最大的数 x,如果 x 是 0,那么result *= min * max ,如果 result < 0,那么result就是结果,否则结果是0。如果 x 不是0,那么 result 乘以 x。
A3. 如果 result 大于 0,则取最小的负数 y ,如果没有或者比 min 大,那么结果乘以 min,否则乘以 y;如果 reulst 小于 0,则取最大的正数 y,如果没有或者比 max 小,那么结果乘以 max,否则乘以 y。
B. 如果数组中存在0,那么结果就是0,如果数组不存在0,取 n 个最小的数相乘。
C. 取 n 个最小的不为 0 的数相乘,如果只有0可以乘,那么结果就是0。