LeetCode - 152 解題紀錄 / September LeetCoding Challenge Day 11
題目: LeetCode - 152. Maximum Product Subarray
題目說明
給一個陣列,求陣列中最大的子陣列乘積。
解題思路
由於是乘積,極小值乘以負數時會變為極大值,所以需要同時保存目前的子陣列乘積最大值及最小值。使用動態規劃的概念,最大值為 mx * nums[i]
及 nums[i]
兩者取較大者,最小值為 mn * nums[i]
及 nums[i]
兩者取較小者,若是碰到目前元素為負數時,則需要將兩者互換再去判斷。
參考解法
1 | class Solution { |
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Larry's notes!
評論