https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/description/?envType=study-plan-v2&envId=top-interview-150问题分析:
和买卖股票的最佳时机I这题相比,区别就是可以买多只股票虽然同时只能持有一支,但是我们还是可以运用贪心的思想只要盈利我就卖出,因为你看 2 4 6 我在2买入4卖出赚2,4买6卖赚2,和2买6卖是一样的,如果 2 6 4,我在6卖出不影响,因为如果后续有大于6的我还能卖,如果没有大于6的那我6的时候卖就是最优的。
class Solution {public int maxProfit(int[] prices) {int res = 0;//盈利int currPrice = prices[0];//当前持有股票的买入价格for(int i = 1; i <= prices.length - 1; i++) {if(prices[i] > currPrice) {//如果当前价格大于买入价格,那么我就卖出res += prices[i] - currPrice;currPrice = prices[i];//更新买入价格} else {currPrice = prices[i];//如果当前价格小于等于买入价格,那么我就买入,相当于我之前都是当天买当天卖}}return res;}
}