leetcode解題之乘積最大子陣列

2021-10-06 07:11:01 字數 560 閱讀 2505

給你乙個整數陣列 nums ,請你找出陣列中乘積最大的連續子陣列(該子陣列中至少包含乙個數字),並返回該子陣列所對應的乘積。

示例 1

:輸入:[2

,3,-

2,4]

輸出:6

解釋: 子陣列 [2,

3] 有最大乘積 6。

示例 2

:輸入:[-

2,0,

-1]輸出:

0解釋: 結果不能為 2

, 因為 [-2

,-1] 不是子陣列。

開始對動態規劃的題有感覺了,但是還是沒有得心應手的感覺,這道題的主要細節是要考慮到負數的情況,所以在使用動態官方求第i個位置的最大乘積的時候,還要求同等的最小的乘積,然後,最大值即為 max[i-1]*nums[i],min[i-1]*nums[i]和nums[i]三者中的最大值

class

solution

return maxvalue;

}}

乘積最大子串行 LeetCode

給定乙個整數陣列 nums 找出乙個序列中乘積最大的連續子串行 該序列至少包含乙個數 示例 1 輸入 2,3,2,4 輸出 6 解釋 子陣列 2,3 有最大乘積 6。示例 2 輸入 2,0,1 輸出 0 解釋 結果不能為 2,因為 2,1 不是子陣列。雙層for迴圈 第一層for迴圈i確定子串行起點...

Leetcode 最大子陣列乘積

給定乙個double型別的陣列arr,其中的元素可正可負可0,返回子陣列累乘的最大乘積。例如arr 2.5,4,0,3,0.5,8,1 子陣列 3,0.5,8 累乘可以獲得最大的乘積12,所以返回12。由於可能出現0 負數 負負得正情況 採取動態規劃策略 記錄以arr i 結尾的子陣列最大以及最小乘...

乘積最大 TYVJ1047 解題報告

program p1047 var n,m longint s string a array 0.40,0.40 of longint 用a表示從首位到末位的數是什麼,例如數為2314,a 2,3 則表示為31 f array 0.40,0.5 of longint 用f i,j 表示前i位用了j個...