题解 | #连续子数组的最大乘积#

连续子数组的最大乘积

https://www.nowcoder.com/practice/abbec6a3779940aab2cc564b22d36859

#include <algorithm>
#include <vector>
class Solution {
public:
//我觉得这题最离谱的是数据量好大
    int maxProduct(vector<int>& nums) {
        // write code here
       int n = nums.size();
        int ans = nums[0];
        int preMax = nums[0];
        int preMin = nums[0];
        for(int i = 1; i < n; i++){
            int t = preMax;
            preMax = max(nums[i] * preMax,max(preMin * nums[i], nums[i]));
            preMin = min(nums[i] * t,min(preMin * nums[i], nums[i]));
            ans = max(ans, preMax);
        } 
        return ans;
    }
};

全部评论

相关推荐

2025-12-15 14:25
云南大学 Java
lei22:入职可能会看学信网,最好别伪装,这个简历找实习肯定是够的,肯定会有收 28 届实习生的公司的,多投就行
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务