- 博客(1)
- 收藏
- 关注
原创 古法编程1:整数拆分
于是,我想到了用一个数组arr记录小等于n时的最大乘积,然后将n拆成两个数,一个作为本身的数值,另一个作为arr中记录的数值,然后相乘与arr中记录的比较取最大值(arr[i]=max(arr[i],j*arr[i-j]))。在这里我其实取巧了,根据题目意思arr[2],arr[3]应该分别为1和2,但如果取1,2的话,我发现后面的拆分如果出现2和3时,乘积与期望值相比会小一点,应为2,3不用拆分,拆分后反而变小了。至于对i向下取整并加1,是因为发现拆分的数最大的不超过(n/2)+1,枚举不用超过这个值。
2026-04-14 15:44:27
35
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅