这道题要求时间复杂度为O(n),空间复杂度为O(1),因此用dp是最简单的做法。由于这道题存在负数,所以我在保存最大值时,也保存了最小值。
#include<iostream>
#include<algorithm>
#include<vector>
using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::vector;
int maxProduct(vector<int>& arr, const int &n)
{
//std::sort(arr, arr + 3);
std::sort(std::