leetcode 343. 整数拆分(Integer Break)
生活随笔
收集整理的這篇文章主要介紹了
leetcode 343. 整数拆分(Integer Break)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 題目描述:
- 示例 1:
- 示例 2:
- 解法:
題目描述:
給定一個
正整數 n,將其拆分為至少兩個正整數的和,并使這些整數的乘積最大化。 返回你可以獲得的最大乘積。
示例 1:
輸入: 2 輸出: 1 解釋: 2 = 1 + 1, 1 × 1 = 1。示例 2:
輸入: 10 輸出: 36 解釋: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。說明: 你可以假設 n 不小于 2 且不大于 58。
解法:
class Solution { public:int integerBreak(int n) {//2, 2,//3, 3,//4, 4,//5, 2 + 3if(n <= 3){return n-1;}vector<long long> lst(60, 0);for(int i = 2; i < 60; i++){lst[i] = i;for(int j = 1; j <= i/2; j++){lst[i] = max(lst[i], lst[j]*lst[i-j]);}}return lst[n];} };轉載于:https://www.cnblogs.com/zhanzq/p/10930503.html
總結
以上是生活随笔為你收集整理的leetcode 343. 整数拆分(Integer Break)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《学习之道》第十章总结
- 下一篇: python之字符串常用方法