当前位置:   article > 正文

Leetcode152. 乘积最大子数组 -hot100

Leetcode152. 乘积最大子数组 -hot100

题目:


代码(首刷看解析 2024年3月10日):

  1. class Solution {
  2. public:
  3. int maxProduct(vector<int>& nums) {
  4. int n = nums.size();
  5. // dp[i][0]表示以i结尾的乘积最小值,dp[i][1]表示最大值
  6. int maxDP = nums[0];
  7. int minDP = nums[0];
  8. int result = nums[0];
  9. for (int i = 1; i < n; ++i) {
  10. if (nums[i] < 0) swap(maxDP, minDP);
  11. maxDP = max(maxDP * nums[i], nums[i]);
  12. minDP = min(minDP * nums[i], nums[i]);
  13. result = max(result, maxDP);
  14. }
  15. return result;
  16. }
  17. };

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/901093
推荐阅读
相关标签
  

闽ICP备14008679号