买卖股票的最佳时机 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
    }
}
相关推荐
用户128526116024 小时前
我把祖传Java项目重构后,接口响应从3s砍到了200ms,只改了这几行代码
java
鱼鱼不愚与4 小时前
《原来如此 | 第01期:为什么导航软件能预测红绿灯倒计时?》
算法
Linsk4 小时前
组件 = 模板 + 业务逻辑
java·前端·vue.js
星沉远浦5 小时前
用Gemini高效解决Java代码报错难以定位的问题
java
用户298698530149 小时前
Word 文档字符级格式化:Java 实现方案详解
java·后端
复杂网络9 小时前
论最小 Agent 计算机的形态
算法
笨鸟飞不快9 小时前
从单个服务到集群:一次完整的性能排查复盘
java·前端
荣码10 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
SamDeepThinking10 小时前
Java微服务练习方式
java·后端·微服务
朦胧之20 小时前
AI 编程-老项目改造篇
java·前端·后端