乘积最大,有正有负如何处理

输入N个整数,找出其中的两个数a和b,使a*b最大,输出这个最大值
输入/输出例子1
输入:
 4
 3  -6  1  9
输出:
27

想过将正数负数分开统计出来,大于两个就计算。

思路:你从数组开始遍历,但在遍历的时候,维护三个变量,分别记录:

  1. 到当前位置的时候,遇见过的最大正数
  2. 到当前位置的时候,遇见过的最小负数(即绝对值最大的负数)
  3. 到当前位置的时候,目前所能得到的最大乘积

只要厘清上面的 3 个变量,然后遍历一次这个数组,就能得到结果。具体细节就自己思考吧。