剑指 Offer 14- I. 剪绳子
(1)DFS超时
class Solution:def cuttingRope(self, n: int) -> int:def dfs(chengji,changdu):if changdu==n:ans.append(chengji)if changdu<n:for j in range(1,n):dfs(chengji*j,changdu+j)ans=[]dfs(1,0)# print(ans)return max(ans)
(2)动态规划

class Solution:def cuttingRope(self, n: int) -> int:dp = [0] * (n + 1)dp[2] = 1for i in range(3, n + 1):for j in range(2, 4):dp[i] = max(dp[i], max(j * (i - j), j * dp[i - j]))return dp[n]
