当前位置: 首页 > article >正文

力扣152. 乘积最大子数组

给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。

测试用例的答案是一个 32-位 整数。

示例 1:

输入: nums = [2,3,-2,4]
输出: 6
解释: 子数组 [2,3] 有最大乘积 6。

示例 2:

输入: nums = [-2,0,-1]
输出: 0
解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。

动态规划:

class Solution {
public://类比最大子数组和
    int maxProduct(vector<int>& nums) {
        int ans=nums[0];
        int premax=nums[0],premin=nums[0];

        for(int i=1;i<nums.size();i++){
            int a=premax*nums[i], b=premin*nums[i];
            premax=max(nums[i],max(a,b));
            premin=min(nums[i],min(a,b));
            ans=max(ans,premax); //试图更新最大值
        }
        return ans;
    }
};

http://www.kler.cn/a/503229.html

相关文章:

  • 熵权法(变异系数法)
  • JAVA:利用 RabbitMQ 死信队列实现支付超时场景的技术指南
  • 开源项目stable-diffusion-webui部署及生成照片
  • PCB印刷电路板快速上手04电容元件
  • Windows核心编程—匿名管道双向通信
  • docker mysql5.7如何设置不区分大小写
  • pytorch nn.Dropout类介绍
  • 04.计算机体系三层结构与优化(操作系统、计算机网络、)
  • Vue JavaScript 小写数字金额转换成大写汉字(附编程思路)
  • 简识MySQL的InnoDB Locking锁的分类
  • ue5 设置角色属性(生命值,蓝条值,能量值)c++
  • 基于WebRTC实现音视频通话
  • day01-HTML-CSS——基础标签样式表格标签表单标签
  • 斯坦福大学李飞飞教授团队ARCap: 利用增强现实反馈收集高质量的人类示教以用于机器人学习
  • 安装软件缺少msvcp110.dll怎么办?出现dll丢失的解决方法
  • LeetCode热题100(哈希篇)
  • unity学习18:unity里的 Debug.Log相关
  • 如何使用 Excel 进行多元回归分析?
  • 【数据结构】C语言顺序栈和链式栈的使用
  • 科技快讯 | 华为余承东2025新年信;教育部拟同意设置福耀科技大学等本科院校;我国成功发射一箭10星
  • <C++学习> C++ Boost 字符串操作教程
  • Day31补代码随想录20250110贪心算法5 56.合并区间|738.单调递增的数字|968.监控二叉树(可跳过)
  • LoRaWAN节点学习笔记
  • ASP.NET Core - 日志记录系统(一)
  • leetcode 面试经典 150 题:快乐数
  • 云服务信息安全管理体系认证,守护云端安全