股票买入最佳时机,股票买入价格为什么可以自己定

  

  

买卖股票的最佳时机 II

  

  

  标题描述:给定一个价格数组,其中prices[i]是给定股票第I天的价格。   

  

  设计一个算法来计算你能获得的最大利润。可以完成尽可能多的交易(多次买卖一只股票)。   

  

  注意:不能同时参与多笔交易(必须先卖出之前的股票再买入)。   

  

  例子见LeetCode官网。   

  

  资料来源:LeetCode   

  

  链接:3359 leet code-cn . com/problems/best-time-to-buy-and-sell-stock-ii/   

  

  版权归领网所有。商业转载请联系官方授权,非商业转载请注明出处。   

  

  

解法一:贪心算法

  

  

  因为没有买卖次数的限制,所以实际上如果想从多次交易中获得最大的利润,就需要获得正差的累计和。对于任何一段时间的正差异,你其实都可以假设你做了一次买卖操作。如果是连续的正差,实际上可以视为买卖操作。因此,根据贪婪算法,具体的处理过程。   

  

  遍历数组,然后把每段的正差加到收益上,最后返回结果,就是期望的最大收益。可以参考LeetCode-121-买卖股票的最佳时机,应该有动态编程的解决方案。   

  

  /* * *买卖股票的最佳时机ii */public class leet code _ 122 {/* * *贪婪算法* * @ param prices * @ return */public static int max profit(int[]prices){//预期最大回报值int result=0;for(int I=1;一.价格.长度;I) {//得到各分段的正差,即实际交易操作结果=math.max (0,prices[I]-prices[I-1]);}返回结果;} public static void main(String[]args){ int[]prices=new int[]{ 7,1,5,3,6,4 };//测试用例,预期输出:7 system . out . println(maxprofit(prices));}}【每日寄语】人生一半是烟火,一半是诗。为生活捧烟花,为爱情诗意。   

相关文章