【发布时间】:2011-04-21 16:00:38
【问题描述】:
所以我有一个带有 key:value(tuple) 的字典。像这样的东西。 {"name":(4,5),....} 其中 (4,5) 代表两个类别 (cat1, cat2)。给定第二类的最大数量,我想找到字典条目的最佳组合,以使第一类最大化或最小化。
例如,如果 maxCat2 = 15,我想从字典中找到一些条目组合,这样,当我将每个条目中的 cat2 值相加时,我的年龄在 15 岁以下。可能有很多这样的条件。在这些可能性中,我想选择一个,当我将每个条目的 cat1 的值相加时,它大于其他任何可能性。
我想过编写一个算法来获取字典中条目的所有排列,然后查看每个排列是否符合 maxCat2 标准,然后查看其中哪一个给我最大的总 cat1 值。如果我有 20 个条目,这意味着我会检查 20 个!组合,这是一个非常大的数字。有什么办法可以避免这种情况吗?谢谢。
【问题讨论】:
-
这么多……文字!格式化并举出例子,因为这会让许多阅读它的人感到厌烦(无意冒犯)。
-
到目前为止您尝试了哪些方法,哪些方法不适合您?邮政编码或它没有发生!