#Leetcode# 343. Integer Break
https://leetcode.com/problems/integer-break/
Given a positive integer n, break it into the sum of at least two positive integers and maximize the product of those integers. Return the maximum product you can get.
Example 1:
Input: 2
Output: 1
Explanation: 2 = 1 + 1, 1 × 1 = 1.
Example 2:
Input: 10
Output: 36
Explanation: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36.
代码:
class Solution {
public:
int integerBreak(int n) {
if(n == 2 || n == 3) return n - 1;
int ans = 1;
while(n > 4) {
ans *= 3;
n -= 3;
}
return ans * n;
}
};
找规律 如果想乘积最大要把 3 都拆出来才可以
今天看扩展欧几里得 推到一半卡住 怎么都不会了 郁闷 && 暴躁

浙公网安备 33010602011771号