当前位置: 首页 > 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工程化设计到最佳实践
  • 来论|受美国“保护”,日本民众要付出什么代价?
  • 中国海警位中国黄岩岛领海及周边区域执法巡查
  • 亚马逊拟为商品标注“关税成本”,特朗普致电贝索斯讨说法
  • 马克思主义理论研究教学名师系列访谈|杜玉华:马克思主义是“认识世界”和“改变世界”的思维工具
  • 民营经济促进法出台,自今年5月20日起施行
  • 中国人保不再设监事会,国寿集团未再设置监事长职务