1
的阵列的连续编号我碰到这个问题here。这是今年早些时候举办的编程比赛。
这里是总结:
给定N个整数的数组,找到所有M个连续整数的LCM。
对于例如M的计算在LCM N个整数
Array = [3,5,6,4,8] (hence N = 5)
M = 3
输出:
LCM(3,5,6) = 30
LCM(5,6,4) = 60
LCM(6,4,8) = 24
其实有一个解决方案草图here,但我不明白的动态规划部分。
所以,如果有人能与一些例子中,相同的解决方案阐述这将是巨大的。
一个新的,易于理解的解决方案也可以理解。
该草图似乎有三个部分:1)一种方法,2)开始的部分“另一种方法将分解每个A [i] ...”,3)最后一部分,“另一种方法许多参赛者使用的是......“。你需要哪些部分帮助? – Beta 2012-03-05 05:35:17
@Beta我想要动态规划部分的帮助。 – dharm0us 2012-03-05 06:39:42
@Carl我觉得这是找到所有的M个连续号码的LCM不使用DP或任何其他快捷方式最简单的解决方案。这是O(MN)时间。 – dharm0us 2012-03-05 06:41:16