Leetcode 152. Maximum Product Subarray (Medium) (cpp)
2016-07-26 17:47
417 查看
Leetcode 152. Maximum Product Subarray (Medium) (cpp)
Tag: Array, Dynamic Programming
Difficulty: Medium
Tag: Array, Dynamic Programming
Difficulty: Medium
/* 152. Maximum Product Subarray (Medium) Find the contiguous subarray within an array (containing at least one number) which has the largest product. For example, given the array [2,3,-2,4], the contiguous subarray [2,3] has the largest product = 6. */ class Solution { public: int maxProduct(vector<int>& nums) { if(nums.empty()) return 0; int cur_max = nums[0], cur_min = nums[0], maxProduct = nums[0]; for(int i = 1; i < nums.size(); i++) { int prev_min = cur_min, prev_max = cur_max; cur_max = max(nums[i], max(prev_max * nums[i], prev_min * nums[i])); cur_min = min(nums[i], min(prev_max * nums[i], prev_min * nums[i])); maxProduct = max(cur_max, maxProduct); } return maxProduct; } };
相关文章推荐
- 5. Longest Palindromic Substring
- C语言 指针
- C语言 函数
- Halcon图像与Opencv图像相互转换(C++代码)
- 大话设计模式26----享元模式
- 学习笔记:B树建立,搜索和删除操作
- C++和Java,绝不只是语法不同这么简单
- C++单例模式(线程安全、内存释放)
- 常引用的几种情况
- C语言实现二叉树的基本操作---创建、遍历、求深度、求叶子结点
- C/C++ 调用 qsort/sort
- 337. House Robber III
- C++继承时权限
- c语言描述的顺序栈实现
- C++里数组的一些理解
- C++ RGB图片对比度调整
- 大话设计模式25----中介者模式
- C语言实现简单的socket实例
- C++ RGB图片亮度调整
- 识别c语言汇编代码