买卖股票的最佳时机II
难度:中等
题目描述
给你一个整数数组 prices
,其中 prices[i]
表示某支股票第 i
天的价格。
在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。
返回 你能获得的 最大 利润 。
示例1
输入: prices = [7,1,5,3,6,4]
输出: 7
示例2
输入: prices = [1,2,3,4,5]
输出: 4
题解
因为不是只能购买一次,所以只要是后一天的利润大于前一天都可以直接卖出
想法代码
public class Solution
{
public static void Main(string[] args)
{
Solution solution = new Solution();
int[] prices = { 7, 1, 5, 3, 6, 4 };
int ans = solution.MaxProfit(prices);
Console.WriteLine(ans);
}
public int MaxProfit(int[] prices)
{
int ans = 0;
int pre = prices[0];
for (int i = 1; i < prices.Length; i++)
{
ans += Math.Max(prices[i] - pre, 0);
pre = prices[i];
}
return ans;
}
}