leetcode 152 乘积最大子序列
给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。
示例 1:
输入: [2,3,-2,4]
输出: 6
解释: 子数组 [2,3] 有最大乘积 6。
示例 2:
输入: [-2,0,-1]
输出: 0
解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。
思路:对于必须以第i个数结尾的答案:
如何让乘积最大?
如果是负数,则和之前的乘积最小值相乘(也可能是第i个数本身)
如果是正数,应该和之前的乘积最大值相乘(或者是第i个数本身)
如何让乘积最小?
如果是负数,则和之前的乘积最大值相乘(也可能是第i个数本身)
如果是正数,应该和之前的乘积最小值相乘(或者是第i个数本身)
class Solution {public int maxProduct(int[] nums) {int max = Integer.MIN_VALUE, imax = 1, imin = 1;int len=nums.length;for(int i=0; i<len; ++i){if(nums[i] < 0){ int tmp = imax;imax = imin;imin = tmp;}imax = Math.max(imax*nums[i], nums[i]);imin = Math.min(imin*nums[i], nums[i]);max = Math.max(max, imax);}return max;}
}
leetcode 152 乘积最大子序列相关推荐
- Java实现 LeetCode 152 乘积最大子序列
152. 乘积最大子序列 给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数). 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] ...
- LeetCode 152. 乘积最大子序列(DP)
文章目录 1. 题目信息 2. 解题 1. 题目信息 给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数). 示例 1:输入: [2,3,-2,4] 输出: 6 解 ...
- Leetcode 152. 乘积最大子序列 解题思路及C++实现
解题思路: 求乘积最大的子序列,不同于和最大的子序列,两个负数相乘是会得到正数的,所以在遍历数组nums时,需要存储最大和最小的子序列乘积.然后每遍历一个元素,更新一次. class Solution ...
- LeetCode 152. 乘积最大子序列(动态规划)
题目描述 给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数). 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 6. ...
- leetcode - 53. 最大子序和 152. 乘积最大子序列 - 两个算法之间的联系和区别
这两道算法题的解题思路是差不多的,但是从整体上分析,乘积最大子序列之和是最大子序和的进阶.先来看看两道算法题的简单描述. 53.最大子序和 给定一个整数数组 nums ,找到一个具有最大和的连续子数组 ...
- leetcode 算法-乘积最大子序列-152
leetcode 算法-乘积最大子序列 leetcode 传送门 题目 给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数). 示例 1: 输入: [2,3,-2, ...
- Leetcode 152.乘机最大子序列
乘积最大子序列 给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数). 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 ...
- 152. 乘积最大子序列
链接:https://leetcode-cn.com/problems/maximum-product-subarray/ 题解:https://leetcode-cn.com/problems/ma ...
- 【Leetocde | 24 】152. 乘积最大子序列
这道题最直接的方法就是用DP来做,而且要用两个dp数组,其中f[i]表示子数组[0, i]范围内并且一定包含nums[i]数字的最大子数组乘积,g[i]表示子数组[0, i]范围内并且一定包含nums ...
最新文章
- 一些关于iText和iTextSharp的旧闻(some old news about iText and iTextSharp)
- 用javascript实现自我执行功能的目的是什么?
- fibonacci数列前20项_面试题精选:神奇的斐波那契数列
- SpringBoot是什么?可以做什么?
- 梅原对justin wang 真人版
- 德云斗笑社何九华为什么没参加_狗狗的身体卡在了门上,女主人低头一看忍不住笑了:这是膨胀了...
- Android学习笔记-ListView
- android7.1以太网动态ip,android7.1编译路上的那些坑!(部分转自网络整理)
- 7.18自学c++笔记
- C# asp.net常见编译|运行错误
- ScaleAnimation缩放动画Demo
- RMAN深入解析之--内存中的RMAN
- 如何用matlab计算不确定度,Matlab计算“间接测量物理量的不确定度”
- iPhone6 6p 7 7p屏幕适配,切图准则
- scrapy_AttributeError: 'generator' object has no attribute 'meta'''_'generator' 'dont_filter'
- 书写台灯哪种比较适合儿童?盘点护眼的儿童读写台灯推荐
- 局域网IP地址查看软件V2.0使用教程 Python办公自动化
- LOG_PATH_IS_UNDEFINED 解决
- 开源协同办公平台部署教程:O2OA PAAS平台部署
- 小巧灵活的奇瑞小蚂蚁带你出行
热门文章
- 现实地形导入UE4全流程
- Linux下boost库的安装
- MULTI BIN的wince 5.0,smdk2440下的实现
- android远程linux命令,测试可用的Android远程语音识别实例
- python多级字典嵌套_使用pythonscsv DictReader创建多级嵌套字典
- html日期只显示7天,vue+elementui 只能选7天内的日期
- 【转】VS编译时自动引用Debug|Release版本的dll
- 【转】刨根究底正则表达式(2):文本查找方式的演化历史
- 【转】WOPI host消息体结构
- Move_base理解