股票获取最大利润

1、题目背景

给定一个数组 prices,它的第i个元素prices[i]表示一支给定股票第i天的价格,你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票,设计一个算法来计算你所能获取的最大利润.返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回0

2、代码实现

public class Solution {

    public static void main(String[] args) {
        int[] nums1 = new int[]{3, 2, 4};
        int[] nums2 = new int[]{3, 7, 4,9};
        System.out.println(maxProfit(nums1));
    }
     /**
     * 给定一个数组 prices,它的第i个元素prices[i]表示一支给定股票第i天的价格
     *
     * 你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票,设计一个算法来计算你所能获取的最大利润。
     *
     * 返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回0
     * @param prices
     * @return
     */
    public static int maxProfit(int[] prices) {
        if(prices.length <= 1)
            return 0;
        int min = prices[0], max = 0;
        for(int i = 1; i < prices.length; i++) {
            max = Math.max(max, prices[i] - min);
            min = Math.min(min, prices[i]);
        }
        return max;
    }

}

3、结果展示

2

Process finished with exit code 0
posted @   龙空白白  阅读(42)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示