[LeetCode]Maximum Product Subarray
来源:互联网 发布:cpu硅脂品牌 知乎 编辑:程序博客网 时间:2024/06/16 17:21
解题思路:
动态规划:
1,需要记录两个状态,min和max, 因为min * cur可以称为max(负负得正嘛)
2,遍历的每一步,min和max都由premax和premin以及nums[i]来决定。
3,设定ret记录遍历数组过程中产生的最大product
class Solution {public: int maxProduct(vector<int>& nums) { int curMax = nums[0]; int curMin = nums[0]; int ret = curMax; for ( int i = 1; i < nums.size(); ++i){ int preMax = curMax; int preMin = curMin; curMax = max(nums[i], max(preMax*nums[i], preMin*nums[i])); curMin = min(nums[i], min(preMax*nums[i], preMin*nums[i])); ret = max(ret, curMax); } return ret; }};
0 0
- [LeetCode]Maximum Product Subarray
- Maximum Product Subarray 【LeetCode】
- [LeetCode] Maximum Product Subarray
- leetcode-Maximum Product Subarray
- Maximum Product Subarray -- LeetCode
- LeetCode-Maximum Product Subarray
- [LeetCode]Maximum Product Subarray
- [LeetCode]Maximum Product Subarray
- 【LeetCode】Maximum Product Subarray
- leetcode:Maximum Product Subarray
- leetcode: Maximum Product Subarray
- Leetcode: Maximum Product Subarray
- [LeetCode]Maximum Product Subarray
- Leetcode Maximum Product Subarray
- [Leetcode]Maximum Product Subarray
- Leetcode--Maximum Product Subarray
- Maximum Product Subarray [leetcode]
- LeetCode | Maximum Product Subarray
- 如何在linux下写动态链接库并卖给别人?
- Maven编译jar出现:无法确定 T 的类型参数的异常的原因和处理方案
- 常用命令合集
- [leetcode]Search for a Range
- c语言文件操作详解
- [LeetCode]Maximum Product Subarray
- socket阻塞与非阻塞,同步与异步、I/O模型
- 气功大师王林栽了让我想起自己的特异功能
- 基于Linux的智能家居的设计(2)
- 在64位操作系统上使用FlashDevelop的Debug功能
- java实现录音并保存到本地文件
- linux at91看门狗驱动设置
- 阿里云服务器ubuntu创建SVN版本控制服务器
- LeetCode 之Edit Distance