1567 乘積為正數的最長子陣列長度 dp

2022-05-25 05:33:10 字數 527 閱讀 8116

給你乙個整數陣列 nums ,請你求出乘積為正數的最長子陣列的長度。

乙個陣列的子陣列是由原陣列中零個或者更多個連續數字組成的陣列。

請你返回乘積為正數的最長子陣列長度。

示例  1:

輸入:nums = [1,-2,-3,4]

輸出:4

解釋:陣列本身乘積就是正數,值為 24 。

思路:遞迴,

dp[i][0] : 乘積為負的最長子陣列的長度

dp[i][1] : 乘積為正的最長子陣列的長度

遍歷陣列中的數字,對於每個數字,根據其》0,=0,<0進行不同處理

class solution 

else

if (nums[i - 1] > 0)

else

if (nums[i - 1] < 0)

ans = max(ans, dp[i][1]);

}return ans;

}};

5500 乘積為正數的最長子陣列長度

給你乙個整數陣列 nums 請你求出乘積為正數的最長子陣列的長度。乙個陣列的子陣列是由原陣列中零個或者更多個連續數字組成的陣列。請你返回乘積為正數的最長子陣列長度。示例 1 輸入 nums 1,2,3,4 輸出 4 解釋 陣列本身乘積就是正數,值為 24 1.維護以前一位置結尾的正數和負數的長度,當...

未排序正數陣列中累加和為給定值的最長子陣列的長度

未排序正數陣列中累加和為給定值的最長子陣列的長度 給定乙個陣列arr,該陣列無序,但每個值均為正數,再給定乙個正數k。求arr的所有子陣列中所有元素相加和為k的最長子陣列的長度 例如,arr 1,2,1,1,1 k 3 累加和為3的最長子陣列為 1,1,1 所以結果返回3 要求 時間複雜度為o n ...

累加和為aim的最長子陣列

參考 擴充套件1乙個陣列中要麼是奇數,要麼是偶數,求奇數和偶數相等的最長子陣列。思路用1表示奇數,用 1表示偶數,那麼就是求累加和為0的最長子陣列,參考上面 擴充套件2求乙個陣列怎樣劃分可以使得子陣列異或為0的個數最多。思路動態規劃 定義乙個dp陣列,dp i 表示以 i 結尾可以劃分的最多個數 對...