Integer Break的max3中不理解为啥还有个res ,后两个理解了。

来源:9-3 发现重叠子问题 Integer Break

慕粉3869017

2020-09-05

res = max3(res,i*(n-i),i*breakInteger(n-i));

写回答

1回答

liuyubobobo

2020-09-05

res 存储了之前计算的结果,比如 i = 1 的结果。在搜索 i = 2 的时候,是 2*(n-2), 2*breakInteger(n-2) 的结果的最大值,和 i = 1 的结果,取最大值。


换句话说,res 取的是 i = 1 到 n-1 之间,尝试分割的方案的最大值。 i*(n-i) 和 i*breakInteger(n-i) 只表示对某一个 i 计算出的分割结果。


继续加油!:)

1
3
慕粉3869017
嗯嗯,老师这么说我就明白了,谢谢您~
2020-09-05
共3条回复

玩转算法面试-- Leetcode真题分门别类讲解

课程配套大量BAT面试真题,高频算法题解析,强化训练

7410 学习 · 1150 问题

查看课程