leetcode-152. 乘积最大子数组(动态规划+滚动数组)「建议收藏」

leetcode-152. 乘积最大子数组(动态规划+滚动数组)「建议收藏」给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。typedef long long ll;const int N = 1e5 + 10;const int INF = 0x3f3f3f3f;int f[2][

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

示例 1:

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

输入: [-2,0,-1]
输出: 0
解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。
typedef long long ll;
const int N = 1e5 + 10;
const int INF = 0x3f3f3f3f;
int f[2][2];
class Solution { 
   
public:
    int maxProduct(vector<int>& nums) { 
   
        int ans = -INF;
        for(int i = 1;i <= nums.size();i ++){ 
   
            int x = nums[i - 1];
            if(i == 1){ 
   
                f[i & 1][0] = f[i & 1][1] = x;
                ans = max(ans,f[i & 1][0]);
                continue;
            }
            f[i & 1][0] = max(f[(i - 1) & 1][0] * x,max(x,f[(i - 1) & 1][1] * x));
            f[i & 1][1] = min(f[(i - 1) & 1][0] * x,min(x,f[(i - 1) & 1][1] * x));
            ans = max(ans,f[i & 1][0]);
        }

        return ans;
    }
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168548.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Dubbo架构(应用架构)

    一、整体框架1、Dubbo介绍ApacheDubbo是一款高性能、轻量级的开源JavaRPC框架。它有三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。1、Dubbo特点1、面向接口代理的高性能RPC调用:提供高性能的基于代理的远程调用能力,服务以接口为粒度,为开发者屏蔽远程调用底层细节。2、智能负载均衡:内置多种负载均衡策略,智能感知下游节点健康状…

    2022年4月11日
    95
  • 一系列令人敬畏的.NET核心库,工具,框架和软件[通俗易懂]

    一系列令人敬畏的.NET核心库,工具,框架和软件[通俗易懂]内容一般框架,库和工具API应用框架应用模板身份验证和授权Blockchain博特构建自动化捆绑和缩小高速缓存CMS代码分析和指标压缩编译器,管道工和语言加密数据库数据库驱动数据库工具和实用程序日期和时间分布式计算电子商务和支付例外功能编程图像GUIIDE国际化国际奥林匹克委…

    2022年7月16日
    9
  • mysql创建视图sql语句_MySQL 视图

    mysql创建视图sql语句_MySQL 视图视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。视图不直接存储数据,不知真正的表。关系型数据库中的数据是由一张一张的二维关系表所组成,简单的单表查询只需要遍历一个表,而复杂的多表查询需要将多个表连接起来进行查询任务。对于复杂的查询事件,每次查询需要输入SQL命令,重复且低效,视图可以大大降低查询的重复性。

    2022年10月24日
    0
  • service mesh框架对比_k8s外部访问内部service

    service mesh框架对比_k8s外部访问内部serviceservice用于4层路由负载 ingress用于7层路由负载1 Service介绍在kubernetes中,Pod是应用程序的载体,我们可以通过Pod的IP来访问应用程序,但是Pod的IP地址不是固定的,这就意味着不方便直接采用Pod的IP对服务进行访问。为了解决这个问题,kubernetes提供了Service资源,Service会对提供同一个服务的多个Pod进行聚合,并且提供一个统一的入口地址,通过访问Service的入口地址就能访问到后面的Pod服务。Service在很多情况下只是一个概念

    2022年8月9日
    2
  • 架设ftp服务器从入门到精通[通俗易懂]

    架设ftp服务器从入门到精通[通俗易懂]1.FTP是什么FTP的全称是FileTransferProtocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。FTP服务器则是在互联网上提供存储空间的计算机,它们依照FTP协议提供服务。当它们运行时,用户就可以连接到服务器上下载文件,也可以将自己的文件上传到FTP服务器中。有时把FTP服务器简称为FTP。FTP服务器的存在,大大方便了网友之间远程交换文件资料的需要,充分体现了互联网资源共享的精神。现在许多朋友都已经用上了宽带网,而且硬盘也有足够的空间,完全可以通过软件手段把自己的

    2022年7月21日
    18
  • unity3d在工业仿真中的应用_虚拟现实例子

    unity3d在工业仿真中的应用_虚拟现实例子JonathanLinowes(作者),童明(译者)文中示例代码下载亚马逊京东China-Pub当当目录列表内容译者序审校者简介前言第1章万物皆可虚拟11.1虚拟现实对你来说意味着什么21.2头戴式显示器的类型41.2.1桌面VR41.2.2移动VR41.3虚拟现实与增强现实的区别51.4应用与游戏51.5本书涵盖的内容81.6VR体

    2022年9月12日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号