您的位置:首页 > 其它

343. Integer Break

2017-05-30 22:19 211 查看


又一次的疑惑,为什么动态规划的题目总是数学题,这似乎不关乎算法,而关乎数学推理能力。

首先,我们假设所给的数字n已经被拆分为若干个数字,而决定是否要对已经分好了的数字进行再拆分的条件,就是看这个数字拆分后的乘积是否会大于原数字。

而由一元二次方程可得,但这个数字大于等于5时可以拆分它,拆分后数字乘积会大于原数字。这样就决定了只能将原数字拆分为1,2,3的组合,然而优先拆出3,因为2*2*2的结果要小于3*3。

代码如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: