Best Time to Buy and Sell Stock II

来源:互联网 发布:企业危机网络 编辑:程序博客网 时间:2024/06/06 20:04

1.题目

假设有一个数组,它的第i个元素是一个给定的股票在第i天的价格。设计一个算法来找到最大的利润。你可以完成尽可能多的交易(多次买卖股票)。然而,你不能同时参与多个交易(你必须在再次购买前出售股票)。

给出一个数组样例[2,1,2,0,1], 返回 2

2.算法

从前向后遍历数组,只要当天的价格高于前一天的价格,就算入收益。

public int maxProfit(int[] prices) {        if(prices == null || prices.length==0)          return 0;      int res = 0;      for(int i=0;i<prices.length-1;i++)      {          int diff = prices[i+1]-prices[i];          if(diff>0)              res += diff;      }      return res;  } 


0 0