Leetcode 152 乘積最大子串行

2021-09-08 14:03:23 字數 619 閱讀 3206

給定乙個整數陣列nums,找出乙個序列中乘積最大的連續子串行(該序列至少包含乙個數)。

示例 1:

輸入:[2,3,-2,4]輸出:6解釋:子陣列 [2,3] 有最大乘積 6。
示例 2:

輸入:[-2,0,-1]輸出:0解釋:結果不能為 2, 因為 [-2,-1] 不是子陣列。
這裡用動態規化的方法,即dp[i]為以i結尾乘積最大連續數值,注意,由於有負數的存在,需要同時記錄最大值與最小值,因為負數的最小值再與正數可能出現最大值,所以用dp[i][0]表示最大值,dp[i][1]表示最小值,考慮到特殊情況,每次求最大值和最小值都要與當前陣列nums[i]比較。實際上不需要記錄下所有dp[i],只需記錄當前的dp和上乙個狀態的dp[i],所以用滾動陣列技巧

class solution 

return res;

}};

Leetcode 152 乘積最大子串行

原題描述 找出乙個序列中乘積最大的連續子串行 該序列至少包含乙個數 例如,給定序列 2,3,2,4 其中乘積最大的子串行為 2,3 其乘積為6。解答 1.暴力搜尋 o n 2 沒有ac 超時 class solution return max 2.動態規劃思想,max min 每有乙個新的數字加入,...

leetcode152 乘積最大子串行

給定乙個整數陣列 nums 找出乙個序列中乘積最大的連續子串行 該序列至少包含乙個數 示例 1 輸入 2,3,2,4 輸出 6 解釋 子陣列 2,3 有最大乘積 6。示例 2 輸入 2,0,1 輸出 0 解釋 結果不能為 2,因為 2,1 不是子陣列。用三個變數分別記錄最大值,到之前乙個數的最大值和...

LeetCode 152 乘積最大子串行

給定乙個整數陣列nums,找出乙個序列中乘積最大的連續子串行 該序列至少包含乙個數 示例 1 輸入 2,3,2,4 輸出 6解釋 子陣列 2,3 有最大乘積 6。示例 2 輸入 2,0,1 輸出 0解釋 結果不能為 2,因為 2,1 不是子陣列。此題比之前那道求連續最大子序和的題要複雜,如果還按照那...