LeetCode【152】乘积最大子数组

news2024/12/23 15:59:32

题目:
在这里插入图片描述
解析:
在这里插入图片描述

  • 理解这个题的过程中,有这样的疑问:
    -2、0、2、3 子数组最大值是2*3 = 6,并非dp过程中,从下标0累乘的怎么办?这里不用担心,因为在dp的过程中会逐渐的求Math.max和Math.min。

  • 这里dp的思路是,当前最大乘积dp[i] 一定是dp[i-1] 或者是dp[i-1] * nums[i]

  • 这里不同于传统的dp题目,需要一个dp[]保存中间的dp结果,而是使用dpMax 和 dpMin保存dp过程中的最大值最小值。

  • 此题重点理解公式推导

参考:
https://blog.csdn.net/weixin_43972154/article/details/123677014

待学习:滚动数组

代码:

public int maxProduct(int[] nums) {
     int dpMax = nums[0], dpMin = nums[0];

     int res = nums[0];
     for (int i = 1; i < nums.length; i++) {
         int now1 = dpMax * nums[i];
         int now2 = dpMin * nums[i];

         dpMax = Math.max(nums[i], Math.max(now1, now2));   // 只有变得更大或更小了才会被记录,不用担心前面的值影响最大最小结果。
         dpMin = Math.min(nums[i], Math.min(now1, now2));

         res = Math.max(res, dpMax);   // 为什么要变计算中间结果? [2,3,-2,4]  如果不计算,最后就输出4
     }

     return res;
 }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1084695.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

知识付费小程序的推广与用户增长策略

在知识付费小程序开发完成后&#xff0c;推广和用户增长是关键的成功因素。本文将探讨一些推广策略和用户增长方法&#xff0c;并提供代码示例&#xff0c;帮助您在知识付费小程序中实施这些策略。 1. 社交媒体分享功能 在知识付费小程序中添加社交媒体分享功能&#xff0c;…

多媒体应用设计师 开始

https://www.bilibili.com/video/BV1jv411q7mz/?spm_id_from333.337.search-card.all.click&vd_source25bced4af8c6d5f851758632d0ca8444

【2023年新版】40套BIM+GIS项目案例合集,中建中铁中交企业内部学习资源免费领取

最近有很多做工程的朋友想要学习BIMGIS技术&#xff0c;向我询问相关的学习资源和资料。他们面临的普遍问题是不知道如何入门&#xff0c;找到的资料很多&#xff0c;但是很多却用不上。 为了解决大家的问题&#xff0c;我们团队花了近一个月的时间&#xff0c;精心整理了一份…

Vue3实战(05)-教你快速搭建Vue3工程化项目

除了Vue 3这个库&#xff0c;还需Vue 3 最新全家桶。 1 环境准备 之前语法演示直接使用script引入Vue 3&#xff0c;从而在浏览器里实现所有调试功能。但实际项目中&#xff0c;使用专门调试工具。在项目上线之前&#xff0c;代码也需打包压缩&#xff0c;并考虑到研发效率和…

C语言文件操作(2)

&#x1f649;本文将继续对文件操作相关知识进行讲解 1. 文件的随机读写 1.1 fseek fseek函数原型&#xff1a; fseek简而言之就是设置文件中的光标&#xff0c;stream就指向对象文件的指针&#xff0c;offset是文件中光标处相对于起始位置的偏移量&#xff0c;origin是光标所…

Docker 容器应急

容器网络简单理解 容器拥有n多张veth网卡与一张docker0网卡 docker 五种网络 bridge 默认网络&#xff0c;Docker启动后创建一个docker0网桥&#xff0c;默认创建的容器也是添加到这个网桥中。host 容器不会获得一个独立的network namespace&#xff0c;而是与宿主机共用一个…

关于Win系统提示由于找不到msvcr120.dll文件问题解决办法

在我使用电脑的过程中&#xff0c;突然弹出了一个错误提示框&#xff0c;提示我系统中缺少msvcp120.dll文件。这个文件是系统运行所必需的&#xff0c;缺少它可能会导致一些软件无法正常运行。经过一番搜索和咨询&#xff0c;我找到了以下几种解决方案&#xff0c;分享给大家&a…

【Java学习之道】文件输入输出流

引言 今天&#xff0c;我们将一起学习Java中的文件输入/输出流&#xff0c;这是许多初学者感到困惑但实际工作中经常遇到的问题。在本部分&#xff0c;我们将探讨文件输入/输出流的基本概念&#xff0c;以及如何使用Java中的类来处理文件输入/输出。 一、文件输入/输出流的概…

C语言,输出最长连号的个数

数据范围&#xff1a;0 < n <10000. 最长连号&#xff0c;就是一组数字里面出现的连续的数字的最长长度。这里的连号最长是2 3 4 5 6&#xff0c;个数为5。 要实现求连号的个数&#xff0c;就要创建一个变量&#xff0c;用来专门计算连号的个数。在不满足连号时&#xf…

shiro反序列化漏洞分析

分析源码 我们去源码里面去找找&#xff0c;搜索rememberMe&#xff1a; 发现有一个 CookieRememberMeManager 这个类&#xff0c;看名字就知道他多半就是处理 RememberMe 的逻辑&#xff0c;所以根据该类查看它干了什么 这里继承 AbstractRememberMeManager 类&#xff0c;Ab…

精益生产与MES生产管理系统相互融合

近年来&#xff0c;精益生产理念在企业管理中越来越受欢迎。它强调以最小的浪费&#xff0c;在最短的时间内&#xff0c;生产出高质量的产品。这一理念的实施手段包括准时制生产方式、适时生产方式等&#xff0c;消除浪费、看板、快换工装等都是精益提高的工具方针。 然而&…

【基础篇】四、本地部署Flink

文章目录 1、部署模式2、本地独立部署会话模式的Flink3、本地独立部署会话模式的Flink集群4、向Flink集群提交作业5、Standalone方式部署单作业模式6、Standalone方式部署应用模式的Flink 1、部署模式 会话模式&#xff08;Session Mode&#xff09; 先启动Flink集群&#xff0…

【BugBounty】记一次XSS绕过

前言 最近一直在看国外的赏金平台&#xff0c;绕waf是真的难受, 记录一下绕过的场景。 初步测试 一开始尝试XSS&#xff0c;发现用户的输入在title中展示&#xff0c;那么一般来说就是看能否闭合&#xff0c;我们从下面图中可以看到&#xff0c;输入尖括号后被转成了实体。 …

人大金仓数据库V8 windows下安装

此文为人大金仓数据库安装程序&#xff08;windows下kingbase开发及测试用&#xff09;。 1 人大金仓-成为世界卓越的数据库产品与服务提供商 官方下载安装包&#xff0c;同时需要下载授权文件&#xff0c;补丁文件可以不下。 2 点击安装 3 选择授权文件 4 默认安装即可&…

百万买手,小红书电商商业化之锚

继直播电商平台后&#xff0c;双11再次迎来新玩家——小红书。 在“2023小红书双十一电商伙伴动员会”上&#xff0c;小红书宣布将在双十一期间投入百亿流量扶持和亿级补贴&#xff0c;这也标志着小红书正式参与到这场电商盛宴中。 值得关注的是&#xff0c;小红书提到要投入…

【EI会议征稿】第三届大数据、人工智能与风险管理国际学术会议 (ICBAR 2023)

第三届大数据、人工智能与风险管理国际学术会议 (ICBAR 2023) 2023 3rd International Conference on Big Data, Artificial Intelligence and Risk Management 第三届大数据、人工智能与风险管理国际学术会议&#xff08;ICBAR2023&#xff09;将于2023年11月24-26日在中国成…

2023年,PMP的知识是否过时了?

关于PMP现如今还是否实用&#xff0c;是否过时了这一问题我也考虑过。PMP的知识是否是只能在传统行业应用&#xff1f;它适合在互联网领域进行项目管理吗&#xff1f; 首先&#xff0c;要说清楚PMP是什么&#xff1f; PMP&#xff08;Project Management Professional&#x…

Vue 关于组件封装时父子组件通讯的三种方式

主要是遵循vue的单向数据源规则&#xff0c;具体用什么方式取决于自己以及项目实际情况 如果是基本类型&#xff0c;可以使用比较简单直接的方法&#xff0c;这里三种方式主要是针对的对象&#xff0c;里面会包含多个参数 方式一&#xff1a;直接通过props直接修改子组件里的值…

从一部iPhone手机看芯片的分类

目录 问题 iPhone X 手机处理器&#xff1a;A11 iPhone X 的两大存储芯片 数字 IC CPU&#xff1a;计算设备的运算核心和控制核心 GPU&#xff1a;图形处理器 ASIC&#xff1a;为解决特定应用问题而定制设计的集成电路 存储芯片&#xff1a;DRAM 和 NAND Flash iPhone…

成集云 | 管家婆ERP集成金蝶云星辰 | 解决方案

源系统成集云目标系统 ​ 编辑 方案介绍 管家婆ERP系统是一个全面而灵活的企业资源计划平台&#xff0c;旨在帮助企业优化和自动化其业务流程&#xff0c;从而提高效率和生产力。该系统集成了从供应链管理、生产管理、财务管理到人力资源管理等所有企业运营方面的功能&#x…