121. 买卖股票的最佳时机
public class Solution {
public int MaxProfit(int[] prices) {
int result=0;
int low=int.MaxValue;
for(int i=0;i<prices.Length;i++)
{
if(prices[i]<low)
{
low=prices[i];
}
else
{
result=Math.Max(result,prices[i]-low);
}
}
return result;
}
}
先遍历找到股票价格最低那天,然后一次减去最低值,哪个最大选哪个。
122.买卖股票的最佳时机II
public class Solution {
public int MaxProfit(int[] prices) {
int ans=0;
for(int i=1;i<prices.Length;i++)
{
ans+=Math.Max(prices[i]-prices[i-1],0);
}
return ans;
}
}
收益一定是先买后卖,所以一定是后一天减前一天,如果收益为负就不管,为正就加上,最后算总和。