日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【LeetCode】152. Maximum Product Subarray

發布時間:2024/7/19 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【LeetCode】152. Maximum Product Subarray 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目:  

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.

題解:

  先暴力解,遍歷所有組合,更新最大值。很顯然得超時。

Solution 1 (TLE)

class Solution { public:int maxProduct(vector<int>& nums) {int n = nums.size(), mproduct = nums[0];for (int i = 0; i < n; ++i) {int tmp = nums[i];mproduct = max(mproduct, tmp);for (int j = i + 1; j < n; ++j) {tmp = tmp * nums[j];mproduct = max(mproduct, tmp);}}return mproduct;} };

  Besides keeping track of the largest product, we also need to keep track of the smallest product. Why? The smallest product, which is the largest in the negative sense could become the maximum when being multiplied by a negative number. (from here)

  Let us denote that:

f(k) = Largest product subarray, from index 0 up to k.

?  Similarly,

g(k) = Smallest product subarray, from index 0 up to k.

?  Then,

f(k) = max( f(k-1) * A[k], A[k], g(k-1) * A[k] ) g(k) = min( g(k-1) * A[k], A[k], f(k-1) * A[k] )

Solution 2 ()

class Solution { public:int maxProduct(vector<int>& nums) {int maxPro = nums[0], minPro = nums[0], result = nums[0], n = nums.size();for (int i=1; i<n; i++) {int mx = maxPro, mn = minPro;maxPro = max(max(nums[i], mx * nums[i]), mn * nums[i]);minPro = min(min(nums[i], mx * nums[i]), mn * nums[i]);result = max(maxPro, result);}return result;} };
  • Fist we assume there is no zero in the A[]. The answer must be A[0]?A[1]?.... A[i] OR A[j] *A[j+1] A[n - 1]. (Try to prove yourself)

  • Then when we have zero in the A[] (assum A[k] == 0). We could see A[0],A[1]...A[k - 1 ] As An Array and A[k + 1] A[k + 2]...A[n-1] is another.(from here)

  •   The key point of this problem is: there are only two patterns:
    One is "aBcD", and the other is "aBcDe", where I use lowercase to denote a negative number, and use upper case to denote a positive number.
    For the first pattern, the maximum product would be "aBcD"; and for the second pattern, the maximum product would be "max (aBcD, BcDe)". So above solution code is very elegant and efficient.?

    Solution 3 ()

    class Solution {// author : s2003zy// weibo : http://weibo.com/574433433// blog : http://s2003zy.com// Time : O(n)// Space : O(1)public:int maxProduct(vector<int>& nums) {int ans = INT_MIN, frontProduct = 1, backProduct = 1;int n = nums.size();for(int i = 0; i < n; ++i) {frontProduct *= nums[i];backProduct *= nums[n - i - 1];ans = max(ans,max(frontProduct,backProduct));frontProduct = frontProduct == 0 ? 1 : frontProduct;backProduct = backProduct == 0 ? 1 : backProduct;}return ans;} };

    ?

    轉載于:https://www.cnblogs.com/Atanisi/p/6729865.html

    總結

    以上是生活随笔為你收集整理的【LeetCode】152. Maximum Product Subarray的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 超碰人人爱| 亚洲一区精品在线观看 | 免费精品国产 | 欧美国产成人在线 | 午夜激情国产 | 国产女主播福利 | 美女午夜激情 | 国产免费激情 | 99热热热热 | 日产精品久久久 | 亚洲一区免费视频 | 天天干天天上 | 午夜羞羞影院 | 日韩精品一区二区三区在线播放 | 国产亚洲色婷婷久久99精品 | 亚洲视频在线观看视频 | 欧美精品手机在线 | 免费二区 | 亚洲av无码乱码国产精品fc2 | 天堂激情网 | 色综合91| 欧美另类极品videosbest最新版本 | 久久久男人天堂 | 欧美手机在线 | 永久在线观看 | 四虎影视免费看 | 免费黄色在线网址 | heyzo久久| 西西444www无码大胆 | 麻豆一区二区三区四区 | 亚洲欧洲久久 | 日本色图片 | 国产高h视频 | 国产伦精品一区二区三区四区视频 | 日韩精品一区二区三区四区五区 | 欧美影院一区二区 | 黑人操亚洲美女 | 国产成人精品一区二区三区福利 | 黄色免费一级 | 亚洲精品久久久乳夜夜欧美 | 成人7777 | 欧美激情在线观看一区 | 精品免费av | 精品国产乱码久久久久久鸭王1 | 欧美性猛交xxxx黑人交 | 成人av影视在线观看 | 91视频播放 | 国产精品久久久久久久久久免费 | 99自拍偷拍视频 | 91麻豆精品国产91久久久无需广告 | 午夜av一区二区三区 | 欧美精品免费在线观看 | 日韩专区中文字幕 | av免费毛片| 亚洲伦理网站 | 女人久久久| 久久精品首页 | 精品国产999久久久免费 | 久久911| 麻豆精品91 | 永久免费AV无码网站韩国毛片 | 午夜激情一区二区 | 精品熟妇一区二区三区 | 亚洲国产无线乱码在线观看 | 美日韩精品| 午夜精品一区二区三区在线视频 | 免费观看久久 | 久草视频免费在线 | 成人特级毛片69免费观看 | 日韩一区二区影视 | 极品少妇在线观看 | 日本天堂网在线 | 天天摸天天做天天爽水多 | 国模无码大尺度一区二区三区 | 天天干天天玩 | 国产精品成人无码 | 日韩bbw | 国产亚洲视频在线观看 | 亚洲情在线 | 久久午夜夜伦鲁鲁一区二区 | 黄色免费在线视频 | 夜夜骚网站 | 久久露脸| 福利视频一区 | 日韩精品一区二区在线观看 | 国产三级三级在线观看 | 春色av| 天堂精品一区二区三区 | 欧美干干| 九热这里只有精品 | 亲嘴扒胸摸屁股激烈网站 | 亚洲天堂一区在线观看 | 日韩精品成人av | 久久久久久久亚洲 | 欧美视频 | 亚洲国产成人无码av在线 | 久久99国产精品视频 | 欧美国产日韩视频 | 欧美a在线播放 |