class Solution {
public:
int integerBreak(int n) {
}
};
343. 整数拆分
给定一个正整数 n
,将其拆分为 k
个 正整数 的和( k >= 2
),并使这些整数的乘积最大化。
返回 你可以获得的最大乘积 。
示例 1:
输入: n = 2 输出: 1 解释: 2 = 1 + 1, 1 × 1 = 1。
示例 2:
输入: n = 10 输出: 36 解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。
提示:
2 <= n <= 58
原站题解
python3 解法, 执行用时: 44 ms, 内存消耗: 14.9 MB, 提交时间: 2022-11-14 10:56:43
class Solution: def integerBreak(self, n: int) -> int: if n <= 3: return n - 1 quotient, remainder = n // 3, n % 3 if remainder == 0: return 3 ** quotient elif remainder == 1: return 3 ** (quotient - 1) * 4 else: return 3 ** quotient * 2