买卖股票的最佳时机 II

例题:

https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/description/

分析:

某一天买入股票,未来任意一天卖出,只能卖了再买,但可以买卖多次,并允许同一天卖出后再买入,求最大利润。

因为要保证利润最大,只能逢涨就买入,遇跌不买。

有利润就买卖,只看眼前。

先定义两个指针i ,j ,i表示当前股票的价格, j表示下一天股票价格,只要有利润就记录。

代码实现:
java 复制代码
package leetcodeup;

public class ShareslLeetcode122 {

    public static int maxProfit(int[] prices) {
        int i = 0;
        int j = 1;
        int sum = 0;
        while(j < prices.length){
            if(prices[j] - prices[i] > 0){ //有利润
                sum += prices[j] - prices[i];
            }
            i++;
            j++;
        }
        return sum;
    }

    public static void main(String[] args) {
        System.out.println(maxProfit(new int[]{9, 3, 12, 1, 2, 3})); // 11
        System.out.println(maxProfit(new int[]{7, 1, 5, 3, 6, 4})); // 7
    }
}
相关推荐
xiyuping2419 小时前
强化学习之——moutaincar
算法·机器学习
SimonKing19 小时前
我为什么放弃了XMind和亿图,投向了这款开源绘图工具的怀抱?
java·后端·程序员
小画家~19 小时前
第三十七:类型断言
开发语言·c++·算法·golang
萧曵 丶19 小时前
CompletableFuture 底层原理详解
java·jvm·多线程·并发编程
编织幻境的妖19 小时前
Python读写CSV与JSON文件方法
开发语言·python·json
九年义务漏网鲨鱼19 小时前
【大模型微调】QLoRA微调原理及实战
深度学习·算法·大模型·智能体
2401_8414956419 小时前
【LeetCode刷题】合并区间
数据结构·python·算法·leetcode·合并·遍历·排序
weixin_3077791319 小时前
Jenkins jQuery3 API 插件详解:赋能插件前端开发的利器
运维·开发语言·前端·jenkins·jquery
爱笑的眼睛1119 小时前
神经网络的骨架:深入解析前向传播的数学本质与工程实现
java·人工智能·python·ai
世转神风-19 小时前
QEventLoop-qt阻塞异步操作
开发语言·qt