122. 买卖股票的最佳时机 II

复制代码
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的时候卖就是最优的。
java 复制代码
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;
    }
}
相关推荐
晔子yy14 小时前
说一下Java的垃圾回收机制
java·开发语言
历程里程碑14 小时前
双指针1:移动零
大数据·数据结构·算法·leetcode·elasticsearch·搜索引擎·散列表
亲爱的非洲野猪14 小时前
动态规划进阶:博弈DP深度解析
算法·动态规划
tqs_1234514 小时前
@transactional事务失效场景
java·数据库·mybatis
cyforkk14 小时前
01、Java基础入门:JDK、JRE、JVM关系详解及开发流程
java·开发语言·jvm
黎雁·泠崖15 小时前
Java static避坑:静态与非静态访问规则全解析
java·开发语言
Dovis(誓平步青云)15 小时前
《优化算法效率的利器:双指针的原理、变种与边界处理》
linux·运维·算法·功能详解
步步为营DotNet15 小时前
深度解析.NET中IEnumerable<T>.SelectMany:数据扁平化与复杂映射的利器
java·开发语言·.net
多米Domi01115 小时前
0x3f 第41天 setnx的分布式锁和redission,白天写项目书,双指针
数据结构·分布式·python·算法·leetcode·缓存
aaa最北边15 小时前
进程间通信-1.管道通信
android·java·服务器