Algorithm 需要一些关于堆相关算法设计问题的提示吗

Algorithm 需要一些关于堆相关算法设计问题的提示吗,algorithm,heap,Algorithm,Heap,我在练习算法时遇到了这个问题。问题是这样的:有一条街上有n家商店。所有商店都只有一种商品,每个商店都与一个价格(正整数)相关联。不同商店的价格可以相同。人们可以在每家商店以这个价格买卖商品。现在,一个人一个接一个地穿过商店,没有回来。他只能在每个摊位购买或出售其中一种商品。当然,他也可以选择不在一家商店做任何事情。现在假设他一开始有无限多的钱,但他仍然想赚尽可能多的钱。现在给定n和每家商店的价格,设计一个算法来计算他能挣的最大金额 更具体地说,我将给出一个输入和输出示例。假设有10家商店,它们的

我在练习算法时遇到了这个问题。问题是这样的:有一条街上有n家商店。所有商店都只有一种商品,每个商店都与一个价格(正整数)相关联。不同商店的价格可以相同。人们可以在每家商店以这个价格买卖商品。现在,一个人一个接一个地穿过商店,没有回来。他只能在每个摊位购买或出售其中一种商品。当然,他也可以选择不在一家商店做任何事情。现在假设他一开始有无限多的钱,但他仍然想赚尽可能多的钱。现在给定n和每家商店的价格,设计一个算法来计算他能挣的最大金额

更具体地说,我将给出一个输入和输出示例。假设有10家商店,它们的价格是2,10,8,7,4,4,5,8,9,11。如果一个人想赚最多的钱,他需要在第一、第五、第六和第七家商店买一件商品,然后在第二、第八、第九和第十家商店卖一件商品。他通过这个过程赚的钱是(10+8+9+11)-(2+4+4+5)=23。请注意,他在第二家商店出售的商品必须是他在第一家商店购买的商品


在尽了最大努力之后,我认为这个问题应该用堆来解决。我试图通过价格来建立一个最小的堆。然而,我需要更多关于下一步做什么的提示,或者我的想法是否正确。谢谢你的帮助

“一个人一个接一个地穿过商店而不返回”是一个非常有限的要求,需要澄清。价格是在去商店之前知道的还是在去商店时发现的?谢谢你的回复。商店就像我的示例输入一样,是一个正整数序列。所以在去商店之前应该知道价格。“一个人一个一个地穿过商店而不返回”是指一个人从左到右穿过所有商店一次而不离开一个商店。“不回来”意味着他不能回到他目前位置左边的商店@这能回答你的问题吗?这个人能以任何顺序穿过商店吗?或者在给定的顺序中,“一个人一个接一个地穿过商店而不返回”是一个非常有限的要求,需要明确。价格是在去商店之前知道的还是在去商店时发现的?谢谢你的回复。商店就像我的示例输入一样,是一个正整数序列。所以在去商店之前应该知道价格。“一个人一个一个地穿过商店而不返回”是指一个人从左到右穿过所有商店一次而不离开一个商店。“不回来”意味着他不能回到他目前位置左边的商店@这能回答你的问题吗?这个人能以任何顺序穿过商店吗?还是按给定的顺序?