代码之家  ›  专栏  ›  技术社区  ›  Sook Lim

我的dp编程代码在给定价格限制的情况下找到最大利润有什么问题?背包的变化?

  •  -1
  • Sook Lim  · 技术社区  · 7 年前

    嗨,我是Python新手,我有一个列表:

    product_list=[[0, 'Cool Blue Marella Jug', 33, 15], [1, 'Weight Loss Pack', 55, 16], [2, 'Weight Loss Pack', 10, 16]]
    

    这是我的代码:

    def dp_pricelimit(product_list, price_limit):
       memo=[0]*(price_limit +1)
       memo[0]=0
       for price in range(1, price_limit +1):
            for item in product_list:#go through the items
                if item[2]<=price_limit:
                    balance=price_limit-item[2]
                    profit=item[3] + memo[balance]
                 if profit>memo[price]:#if found new optimal
                     memo[price]=profit
        return memo[price_limit]
    

    1 回复  |  直到 7 年前
        1
  •  2
  •   Sook Lim    7 年前

    好的,对不起,伙计们,我刚意识到应该是价格而不是价格限制。对于 if语句

    if item[2]<=price_limit