最大乘积

这是拼多多的一道笔试题 给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1) 。 我们分析一下:有两种情况可能是最大结果。 1>两个负数与与一个正数相乘。 2>3个全为最大正数。 想法是:我们遍历一遍数组,每次进行比较把数组中最大的三个数和最小的两个数取出来,输出最大乘积。
相关文章
相关标签/搜索