【问题标题】:Algorithm: Fit smaller strings together optimally to make longer strings of specified length?算法:以最佳方式将较小的字符串组合在一起以制作指定长度的较长字符串?
【发布时间】:2016-02-09 19:03:50
【问题描述】:

一般问题

我有一组短字符串,每个长度不同,最小 X > 0 和最大 Y。有什么算法可以将这些短字符串最佳地组合在一起以生成长度为 M 的长字符串,其中 M >> Y? Optimal 将被定义为尽可能多的长度最接近 M 的长字符串。

详情

我正在编写推文创建者来练习 javascript。我有一个问候列表和一个帐户名称列表。我希望我的程序创建推文,以便每条推文都有一个问候语,其余字符用于帐户名称。每条推文限制为 140 个字符。

Hello! @person1 @acc2 @mygoodfriend3 ...

当然,每个帐户都有不同数量的字符。我希望通过优化选择帐户名称组合,每条推文尽可能多地使用 140 个字符。

我很确定有一类已知的问题/算法可以解决这个问题,但我不记得了。

【问题讨论】:

    标签: string algorithm optimization


    【解决方案1】:

    这类问题被称为knapsack problem,精确(或精确最优)的解决方案以难以处理而闻名。

    但是,有合理的近似求解器,以及“伪多项式时间”动态规划算法。

    【讨论】:

      【解决方案2】:

      我认为这与背包问题有关;这是“多重线性装箱问题”的特例。两者都是 NP-hard 问题。 Here 你可以找到一个贪心算法来解决线性装箱问题,但是多重情况要困难得多。约束编程语言/库将有助于解决这类问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-24
        • 1970-01-01
        • 2013-03-10
        • 1970-01-01
        相关资源
        最近更新 更多