买卖股票的最佳时机 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
    }
}
相关推荐
田梓燊几秒前
leetcode 189
算法·leetcode·职场和发展
宵时待雨5 分钟前
C++笔记归纳20:智能指针
开发语言·c++·笔记
EvenBoy5 分钟前
IDEA中使用Claude Code
java·ide·intellij-idea
jinanwuhuaguo5 分钟前
OpenClaw 2026.4.5 深度解读
android·开发语言·人工智能·kotlin·openclaw
小小马喽_Thendras12 分钟前
ScheduledExecutorService 和Timer的区别
java·开发语言
wuweijianlove14 分钟前
算法复杂度的理论边界与实验验证研究的技术3
算法
小江的记录本19 分钟前
【Swagger】Swagger系统性知识体系全方位结构化总结
java·前端·后端·python·mysql·spring·docker
rm6fEx0Z720 分钟前
AUC 与 GAUC:从全局排序到用户内排序的理解
人工智能·算法·机器学习
空太Jun20 分钟前
Spring Security 自定义数据库认证(初尝试)
java·数据库·spring
报错小能手21 分钟前
ios开发方向——swift内存基础
开发语言·ios·swift