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

【leetcode刷题日记】lc.152-乘积最大子数组

目录

1.题目

2.代码


1.题目

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

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

示例 1:

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

示例 2:

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

提示:

  • 1 <= nums.length <= 2 * 104
  • -10 <= nums[i] <= 10
  • nums 的任何子数组的乘积都 保证 是一个 32-位 整数

2.代码

class Solution {
public:int maxProduct(vector<int>& nums) {int dpmax[20002];int dpmin[20002];int n = nums.size();dpmin[0]=nums[0];dpmax[0]=nums[0];int maxx = nums[0];for(int i=1;i<n;i++){dpmax[i] = max(dpmax[i-1]*nums[i],max(dpmin[i-1]*nums[i],nums[i]));dpmin[i] = min(dpmin[i-1]*nums[i],min(dpmax[i-1]*nums[i],nums[i]));maxx= max(maxx,dpmax[i]);}return maxx;}
};

相关文章:

  • 念去去千里烟波,雾霭沉沉楚天阔
  • 大语言模型推理能力的强化学习现状理解GRPO与近期推理模型研究的新见解
  • 网络基础与 HTTP 协议
  • LeetCode第159题_至多包含两个不同字符的最长子串
  • Ubuntu下安装和卸载MySQL
  • 基于SpringBoot的社区家庭医生在线问诊系统
  • 使用DeepSeek的AIGC的内容创作者,如何看待陈望道先生所著的《修辞学发凡》?
  • Matlab 汽车行驶速度PID控制系统仿真
  • 控制反转(IOC)和依赖注入(DI)
  • DQN在Gym的MountainCar环境的实现
  • 缓存 --- 缓存击穿, 缓存雪崩, 缓存穿透
  • 《AI大模型应知应会100篇》第28篇:大模型在文本创作中的应用技巧
  • Android Gradle多渠道打包
  • 基于 Vue3 + ECharts + GeoJson 实现区域地图钻取功能详解
  • WEMOS LOLIN32 开发板引脚布局和技术规格
  • 25.4.20学习总结
  • PyTorch基础学习系列一
  • git学习日志
  • 从跌倒到领跑:北京亦庄机器人马拉松如何改写人机协作未来?
  • 深度解析微前端架构设计:从monorepo工程化设计到最佳实践
  • 金价新高不断,上金所再发风险提示,黄金能否持续闪耀?
  • 从南宋遗韵到海派风情,解码江南服饰美学基因
  • 寻找“香奈儿”代工厂
  • 北京一季度GDP为12159.9亿元,同比增长5.5%
  • 世卫成员国就《大流行病协议》达成一致,首次演练应对气候诱发的病毒危机
  • 西北政法大学推无手机课堂,有学生称要求全交,学校:并非强制