Leetcode--152. 乘积最大子数组(java)

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

 

示例 1:

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

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

 

思路:每次如果nums[i]是负数,交换最大最小值

imax = max(imax * nums[i], nums[i])

 

 

代码:

class Solution {

    public int maxProduct(int[] nums) {

        int max = -2147483647>>2;

        //多一个符号最大变最小,最小变最大 2 3 -2 -2 2  min:-12  max:1 max:24  minx:-12

        int tmax=1,tmin=1;

        for(int i=0;i<nums.length;i++){

            if(nums[i]<0){

                int t = tmax;

                tmax = tmin;

                tmin = t;

            }

            tmax = Math.max(nums[i],tmax*nums[i]);

            tmin = Math.min(nums[i],tmin*nums[i]);

            max = Math.max(max,tmax);

        }

        return max;

    }

}

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

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

相关文章

淘淘相关工具类【json,httpClient,id,FTP,exception,cookie(包括共享cookie的设置等)】

json package com.taotao.common.utils;import java.util.List;import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.ObjectMapper;public class JsonUtils {// 定义jackson对…

谷歌前CEO:美国科技优势面临最危险时刻

文章来源&#xff1a;VOA&#xff0c;2021-03-28 &#xff0c;不代表本平台立场图片来源&#xff1a;GETTY IMAGES、知乎、网络等编辑&#xff1a;阿丽西娅中国在人工智能&#xff08;AI&#xff09;发展的多项指标上直逼美国优势&#xff0c;有些领域甚至已经实现超越。许多分…

HashMap源码分析(搞懂HashMap看这个就够了)

首先来看看HashMap&#xff0c;从构造函数看起 HashMap有四个构造函数 第一个&#xff1a; public HashMap() {this.loadFactor DEFAULT_LOAD_FACTOR; // all other fields defaulted} 无参的构造函数&#xff0c;初始容量为默认的16不变&#xff0c;loadFactor为负载因子…

CoreJava学习第五课 --- 进入第二阶段:面向对象编程思想

面向对象编程思想 1.面向过程 ​ 从计算机执行角度出发 &#xff0c;代码执行过程核心为从程序的运行过程出发,构建编程思路,例&#xff1a; 哥德巴赫猜想 // 面向过程1 用户输入一个数n2 验证数字的正确性2.1 正确就继续向下2.2 错误就重复输入3 拆数 循环 nab4.判断 a和b同…

波士顿动力的仓库机器人Strentch来了,挑战每小时搬运800个箱子

来源&#xff1a; 雷锋网作者&#xff1a;杨丽编译&#xff1a;TheVerge雷锋网讯&#xff0c;波士顿动力以其机器狗Spot和双足人形机器人Atlas而闻名。不过近年来&#xff0c;该公司开始将目光投放到物流领域&#xff0c;并于日前发布了一款名为Strentch的新型仓库物流机器人。…

Leetcode--1371. 每个元音包含偶数次的最长子字符串(Java)

给你一个字符串 s &#xff0c;请你返回满足以下条件的最长子字符串的长度&#xff1a;每个元音字母&#xff0c;即 a&#xff0c;e&#xff0c;i&#xff0c;o&#xff0c;u &#xff0c;在子字符串中都恰好出现了偶数次。 示例 1&#xff1a; 输入&#xff1a;s "elee…

下一代人工智能

来源&#xff1a;人机与认知实验室翻译&#xff1a;朱浩然摘要&#xff1a;人工智能和机器学习的最新研究在很大程度上强调了通用学习和越来越大的训练集以及越来越多的计算。相反&#xff0c;我提出了一种以认知模型为中心的混合&#xff0c;知识驱动&#xff0c;基于推理的方…

Leetcode--5. 最长回文子串(java)

给定一个字符串 s&#xff0c;找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1&#xff1a; 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2&#xff1a; 输入: "cbbd" 输出: "bb"…

图论-第k短路

A* 做法 \(f(p)g(p)h(p)\) &#xff0c; \(f(p)\) 作为优先队列比较函数用来比较的值&#xff0c; \(g(p)\) 是当前路径到 \(p\) 的距离&#xff0c; \(h(p)\) 是 \(p\) 点到终点最短路&#xff08;预处理可以得到&#xff09;。 每个点出队次数 \(k\)&#xff0c;就说明当前找…

Arm十年最大更新:V9架构正式发布

来源&#xff1a;由半导体行业观察&#xff08;ID:icbank&#xff09;编译&#xff1a;「anandtech」自Arm在2011年10月首次发布Armv8架构以来&#xff0c;已经过去了近十年的时间。这对Arm来说是一个相当可观的十年&#xff0c;因为在这段时间内&#xff0c;他们的指令集架构受…

输出错误信息

在error页面加以下代码&#xff0c;之后检查网页源代码就会出现错误信息 (URL,Exception是后台传过来的参数) <div><div th:utext"<!--" th:remove"tag"></div><div th:utext"Failed Request URL : ${url}" th:remove…

Lodop打印设计界面生成代码带”...(省略)”

Lodop的设计界面中&#xff0c;菜单里的生成代码&#xff0c;如果打印项内容过多&#xff0c;后面会显示”...(省略)”&#xff0c;省略的是打印项的内容值&#xff0c;无论是纯文本还是超文本&#xff0c;都可以用选中打印项-右键-设置属性里找到该打印项的全部值&#xff0c;…

南洋理工大学研发植物“通信”设备,未来可成为环境探测器

来源&#xff1a;MEMS 最新研究成果由新加坡南洋理工大学&#xff08;NTU&#xff09;领导的一个科学家团队开发了一种可以向植物发送电信号和从植物接收电信号的设备&#xff0c;为利用植物的新技术打开了大门。团队的发现于今年1月25日刊登于国际知名科学期刊《自然》属下的…

服务器核心知识

电脑&#xff1a;辅助人脑的工具 现在的人们几乎无时无刻都会碰电脑&#xff01;不管是桌上型电脑(桌机)、笔记型电脑(笔电)、平板电脑、智慧型手机等等&#xff0c;这些东西都算是电脑。虽然接触的这么多&#xff0c;但是&#xff0c;你了解电脑里面的元件有什么吗&#xff1f…

Spring AOP解析

AOP: Aspect Oriented Programming 面向切面编程。 AOP底层实现原理&#xff1a;代理模式 什么是代理模式&#xff1f; 通过代理控制对象的访问,可以详细访问某个对象的方法&#xff0c;在这个方法调用处理&#xff0c;或调用后处理。既(AOP微实现) ,AOP核心技术面向切面编程…

杜克大学和Facebook联手开发更好的光通信

来源&#xff1a;IEEE电气电子工程师Illustration: Duke UniversityA close-up depiction of the new fiber-free optical WiFi antenna. Silver nanocubes are spaced just a few nanometers above a silver base, with fluorescent dyes sandwiched in between. The physical…

Leetcode--287. 寻找重复数(Java)

给定一个包含 n 1 个整数的数组 nums&#xff0c;其数字都在 1 到 n 之间&#xff08;包括 1 和 n&#xff09;&#xff0c;可知至少存在一个重复的整数。假设只有一个重复的整数&#xff0c;找出这个重复的数。 示例 1: 输入: [1,3,4,2,2] 输出: 2 示例 2: 输入: [3,1,3,4…

优动漫PAINT核心功能介绍

优动漫PAINT是一款功能强大的动漫绘图软件&#xff0c;适用于个人和专业团队创作&#xff0c;分为个人版和EX版。搭载了绘制漫画和插画所需的所有功能——丰富的笔工具、超强的笔压感应和手颤修正功能&#xff0c;可分别满足画师对于插画、漫画和动画创作的针对性需求。 1. 实现…

2020图灵奖颁给“龙书”两位作者!合作数十年,他们让计算机读懂码农代码

来源&#xff1a;大数据文摘作者&#xff1a;Caleb就在昨天&#xff0c;2020年图灵奖公布了获奖名单。哥伦比亚大学计算机科学名誉教授Alfred Vaino Aho和斯坦福大学计算机科学名誉教授Jeffrey David Ullman共享了这一殊荣。根据国际计算机协会&#xff08;ACM&#xff09;报道…

C语言例题4

1.以下程序运行后&#xff0c;输出结果是 9.5 #include<stdio.h> #define PT 5.5 #define S(x) PT*x*x     int main( )     { int a1&#xff0c;b2;     printf(“%4.1f\n”&#xff0c;S(ab))     } PT*ab*ab5.5*12*129.5 2. 下列对字符串的定义中…