什么是最赚钱的广告组合

时间:2014-12-02 12:12:53

标签: algorithm data-structures

我有一个面试问题。我不知道如何解决它。请帮我解决。 问题:让我们考虑网站中有一个3X3广告块。我们有一个数据库表,由第三方供应商填充,其中有大量广告,大小分别为1X1和3X3。 我们必须推导出一种算法,以便在任何给定的时间点获取最赚钱的广告组合(即)找到适合整个3X3块的广告组合,并且该组合必须是最有利可图的组合。 例如。请考虑以下数据,并将条目作为广告

size price
3X3  3000
1X3  1000
2X3  2500

在上面,虽然有一个大小为3X3的广告可以完美地适合我们的块,使用它会获得3000美元,但如果我们选择使用第2行和第3行,我们可以很容易地填充我们的块,也得到3500比使用3X3广告更大。如果有新条目,如下所示,

size price
3X3  3000
1X3  1000
2X3  2500
3X3  5000

更优化的解决方案是使用第4行。

2 个答案:

答案 0 :(得分:3)

可以通过dynamic programming解决,首先找到最佳1X1,然后最好2X1来自最佳1X1或一个2X1。最好2X2来自两个最佳2X1或一个2X2并且......您只需保存最佳xXy块并继续计算,3X1然后3X2然后最后获得最佳3X3

答案 1 :(得分:0)

您可以在此处获取解决方案https://github.com/loganathan-s/lucarative_ad(以RUBY编写)