最大子串行問題
1.最大子串行的和
2.最大子串行的乘積
解題方式不同
leetcode 53. 最大子序和
定義一維陣列dp[i]:代表以i結尾的子陣列的最大和,
分為兩部分:
1.arr[i] 作為乙個整體
2.把arr[i]加入dp[i-1]中
public static void main(string args) ;
int sum = maxsubarray2(nums);
system.out.println(sum);
}/**
* 最大子串行的和
* 定義乙個一維的陣列 表示以j結尾的子陣列的最大值
* dp[j-1] <0 arr[j] 單獨作為乙個整體 dp[j-1]>0 把arr[j] 加入到dp[j-1]中
* dp[j]= max(dp[j-1]+arr[j],arr[j])
* max= max(dp[i]) i=0... dp.length-1
* * */
public static int maxsubarray(int nums) ;
int ans = maxproduct2(nums);
system.out.println(ans);
}public static int maxproduct(int nums)
return res;
}public static int maxproduct2(int nums)
return res;
}
Leetcode 152 乘積最大子串行
原題描述 找出乙個序列中乘積最大的連續子串行 該序列至少包含乙個數 例如,給定序列 2,3,2,4 其中乘積最大的子串行為 2,3 其乘積為6。解答 1.暴力搜尋 o n 2 沒有ac 超時 class solution return max 2.動態規劃思想,max min 每有乙個新的數字加入,...
Leetcode 152 乘積最大子串行
給定乙個整數陣列nums,找出乙個序列中乘積最大的連續子串行 該序列至少包含乙個數 示例 1 輸入 2,3,2,4 輸出 6解釋 子陣列 2,3 有最大乘積 6。示例 2 輸入 2,0,1 輸出 0解釋 結果不能為 2,因為 2,1 不是子陣列。這裡用動態規化的方法,即dp i 為以i結尾乘積最大連...
leetcode152 乘積最大子串行
給定乙個整數陣列 nums 找出乙個序列中乘積最大的連續子串行 該序列至少包含乙個數 示例 1 輸入 2,3,2,4 輸出 6 解釋 子陣列 2,3 有最大乘積 6。示例 2 輸入 2,0,1 輸出 0 解釋 結果不能為 2,因為 2,1 不是子陣列。用三個變數分別記錄最大值,到之前乙個數的最大值和...