买卖股票的最佳时机 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
    }
}
相关推荐
Java Fans2 分钟前
如何在Windows本机安装Python并确保与Python.NET兼容
开发语言·windows·python
sky_ph10 分钟前
JAVA-GC浅析(一)
java·后端
爱coding的橙子11 分钟前
每日算法刷题Day24 6.6:leetcode二分答案2道题,用时1h(下次计时20min没写出来直接看题解,节省时间)
java·算法·leetcode
慢慢慢时光13 分钟前
leetcode sql50题
算法·leetcode·职场和发展
pay顿13 分钟前
力扣LeetBook数组和字符串--二维数组
算法·leetcode
精神小伙mqpm15 分钟前
leetcode78. 子集
算法·深度优先
岁忧16 分钟前
(nice!!!)(LeetCode每日一题)2434. 使用机器人打印字典序最小的字符串(贪心+栈)
java·c++·算法·leetcode·职场和发展·go
dying_man18 分钟前
LeetCode--18.四数之和
算法·leetcode
天天摸鱼的java工程师25 分钟前
@Autowired 注入失效?
java·后端
sss191s29 分钟前
校招 Java 面试基础题目解析学习指南含新技术实操要点
java·python·面试