【发布时间】:2016-01-01 09:49:16
【问题描述】:
我在解决 DP 相关问题时遇到了泛化的egg dropping puzzle。 我可以使用不重复子问题的分而治之来解决这个问题。所以我相信不需要DP来解决掉蛋难题。 谁能判断以下算法在不需要 DP 的情况下是否有效
n- eggs
k-floors
initial call : eggDroppingPuzzle(n,k)
eggDroppingPuzzle(eggs, floor)
{
if floor==1 return 1;
else if eggs=1 return K;
return 1+eggDroppingPuzzle(n-1,k/2-1);// problem is reduced by (size/2)-1
}
由于每个递归调用中没有重叠的子问题,我觉得不需要动态编程。
谁能解释我不需要 DP 的算法是否正确。如果它不正确,请解释我使用 DP 的正确算法。
【问题讨论】:
标签: algorithm dynamic-programming puzzle