1.题目:
给你一个整数数组prices,其中prices[i]表示某支股票第i天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有一股股票。你也可以先购买,然后在同一天出售。返回你能获得的 最大 利润。
案例
2.思路
这道题有两种解法,第一种是动态规划,第二种是贪心算法,贪心算法也有两种方法,一种是复杂的,一种是容易理解的。两种解题方法,重点讲解贪心算法较理解的,难的不做重点讲述。
贪心算法简单的核心思想是: 比较相邻两天,低买高卖
3.代码:
class Solution {
public int maxProfit(int[] prices) {
//边界条件判断
if(prices == null || prices.length == 0){
return 0;
}
int max = 0;
for(int i = 1; i<prices.length; i++){
//如果第二天的价钱比前一天的低,就卖掉
if(prices[i] > prices[i-1]){
max = max + (prices[i] - prices[i-1]);
}
}
return max;
}
}