【发布时间】:2015-06-01 16:33:15
【问题描述】:
给定一个仅由数字组成的字符串 S。我们需要将字符串分成 4 个整数,使它们的总和最大。如何解决?请帮忙
注意:每个整数应≤10^12,且不应包含任何前导零。
每个字符串的大小也可以接近 20。
示例:让 S=52310 则答案为 56,因为 4 个整数是 52,3,1,0。所以最大总和是 56 (52 + 3 + 1 + 0)。
如何有效地做到这一点,因为我不想使用暴力解决方案,因为它的复杂性很高,因为在每个可用的 4 个位置进行拆分将导致非常无效的方法。
【问题讨论】:
-
@BrianTompsett 这看起来像家庭作业?我不知道。哪个机构在家作业会出这样的问题
-
如果每个整数
-
由于最大字符串长度为
13 * 4 = 52,因此蛮力尝试将非常有效。我写了一点效率低下(大量字符串操作)的 Python 脚本,但我仍然很快解决了问题。
标签: algorithm dynamic-programming divide-and-conquer