class Solution { public:     /**      * Note: 类名、方法名、参数名已经指定,请勿修改      *      *      * 找到数组中乘积最大的连续子数组,并返回乘积      * @param nums long长整型 vector 原始数组      * @return long长整型      */     long long GetSubArrayMaxProduct(vector<long> &nums) {         // write code here         int numsLen = nums.size();         long long mx, mi;         mx = 1;         mi = 0;         long long res = INT64_MIN;         for (int i = 0; i < numsLen; ++i) {             if (nums[i] > 0) {                 mx = mx * nums[i];                 mi = mi * nums[i];             } else if (nums[i] < 0) {                 if (mi == 0) {                     mi = nums[i] * mx;                     mx = 1;                 } else {                     mx = mi * nums[i];                     mi = mx * nums[i];                 }             } else {                 mx = 1;                 mi = 0;             }             res = max(mx, res);         }         return res;     } };