- class Solution:
- def integerBreak(self, n: int) -> int:
- dp=[0]*(n+1)
- dp[2]=1
- for i in range(3,n+1):
- for j in range(0,i//2+1):
- dp[i]=max(j*(i-j),j*dp[i-j],dp[i])
- return dp[n]
很有意思的题
dp[i]=max(j*(i-j),j*dp[i-j],dp[i])中的dp[i]记录了在第二个for循环中dp[i]的最大值
很有意思的题
dp[i]=max(j*(i-j),j*dp[i-j],dp[i])中的dp[i]记录了在第二个for循环中dp[i]的最大值