152. Maximum Product Subarray
来源:互联网 发布:复杂网络应用实例 编辑:程序博客网 时间:2024/06/03 22:59
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.
思路:此题一看就是要用动态规划的方法求解,要求求出子连续数组的最大的乘积,正数乘积可为正数与正数,也可为负数与负数,故需要存储可能出现的负数相乘的最大值;
int maxProduct(vector<int>& nums) { if (nums.size() == 0)return 0; int maxpro = nums[0]; int maxposi = nums[0]; int minneg = nums[0]; for (int i = 1; i < nums.size(); i++){ int tempposi = maxposi; int tempneg = minneg; //在此最大的正数可为nums[i],也可为正数与nums[i](为正数)或负数与nums[i]为负数的正数乘积 maxposi = max(nums[i], max(tempposi * nums[i], tempneg * nums[i])); minneg = min(nums[i], min(tempposi * nums[i], tempneg * nums[i])); maxpro = max(maxpro, maxposi); } return maxpro;}
阅读全文
0 0
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 图片的压缩
- 面试题目3:二维数组中的查找
- Win7 64位+VS2010+OpenCV2.4.9环境配置
- Android 官方翻译相关文章
- Hibernate与 MyBatis的比较
- 152. Maximum Product Subarray
- 刷题--树的子结构
- Windows 窗口层次关系(转)
- copy和mutable copy
- 最长递增子序列的思索
- 线段树入门
- uC/OS-III之资源管理--互斥型信号量
- “共享经济”的风催熟了“信用经济”
- C++对象构造函数失败会直接回收已分配的内存