我一直很难想出一种有效的方法来解决这个问题,并使其适用于长数组。我很确定我不知道解决这个问题所需要的编程技术。如果你能帮助我,我将不胜感激!
问题:杰克是个小生意人。他找到了一种赚钱的方法,即在电价便宜的时候买电,在电价高得多的时候卖出。他将电能储存在自己制造的电池中。你得到N,Jack知道电价的天数,X,Jack可用于投资电力的金额,在下一行中,你有N天的时间来计算电力的价值(买入/卖出价值)。你的工作是决定杰克何时应该购买电力,何时应该出售电力,以便尽可能多地赚钱,并简单地打印出他能赚到的最大金额的钱。电的值总是一个整数,但根据杰克的钱的多少,他的电和钱的量可能是浮点数。我对如何解决这个问题有一些想法,但当涉及到长数组时,它们的效率都非常低。
Example:
Input:
4 10
4 10 5 20
Output:100, because he buys electricity on the 1st day and the sells it on the 2nd and buys it on the 3rd and sells it on the 4th day.
Example num. 2:
Input:
3 21
10 8 3
Output:21, because it's better if he doesn't buy/sell any electricity.
Example num. 3:
Input:
3 10
8 10 14
Output:17.5, because he buys electricity on the 1st day, but he sells it on the 3rd day.发布于 2018-02-11 16:59:28
在任何一天,杰克要么有现金,要么有电。
除了前一天,如果他有现金,他就会买电,第二天的电价会更高。
在任何一天,如果他有电,他就会卖电,而这要么是最后一天,要么第二天的价格更低。
https://stackoverflow.com/questions/48727001
复制相似问题