题目描述
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。
注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
解题思路
1、题意理解:买卖股票可以理解为在这个数组中两个数之间的差值。
可以等价为每天都有买卖股票,这样子相连两个数之差大于0,则加入总利润,小于0则跳过
2、代码逻辑:
(1)找一个附近最小值
(2)找一个附近最大值
代码
class Solution {
public int maxProfit(int[] prices) {
int profit = 0;
for(int i = 1; i < prices.length; i++){
int temp = prices[i] - prices[i - 1];
if(temp > 0){
profit = profit + temp;
}
}
return profit;
}
}