leetcode 152. Maximum Product Subarray | 152. 乘积最大子数组(Java)
生活随笔
收集整理的這篇文章主要介紹了
leetcode 152. Maximum Product Subarray | 152. 乘积最大子数组(Java)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
https://leetcode.com/problems/maximum-product-subarray/
題解
class Solution {public int maxProduct(int[] nums) {int max = nums[0]; // 前面的最大累乘積int min = nums[0]; // 前面的最小累乘積int ans = nums[0];for (int i = 1; i < nums.length; i++) {int p1 = nums[i] * max; // 可能性1:nums[i]乘以前一個最大累乘積int p2 = nums[i] * min; // 可能性2:nums[i]乘以前一個最小累乘積(二者均為負數的情況)// 可能性3: nums[i]自身max = Math.max(nums[i], Math.max(p1, p2));min = Math.min(nums[i], Math.min(p1, p2));ans = Math.max(ans, Math.max(max, min));}return ans;} }總結
以上是生活随笔為你收集整理的leetcode 152. Maximum Product Subarray | 152. 乘积最大子数组(Java)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode 442. Find A
- 下一篇: leetcode 449. Serial