首页 > 其他分享 >leetCode121.买卖股票的最佳时机

leetCode121.买卖股票的最佳时机

时间:2025-01-04 13:11:23浏览次数:5  
标签:买卖 int maxProfit leetCode121 最佳时机 买入 prices 价格 利润

题目:

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

示例1:
输入:[7,1,5,3,6,4]
输出:5
解释:在第2天(股票价格=1)的时候买入,在第5天
(股票价格=6)的时候卖出,最大利润=6-1=5。
注意利润不能是7-1=6,因为卖出价格需要大于买入价格:同时,你不能在买入前卖H股票

思路:

在最小价格时买入,最大利润时卖出

代码:

public int maxProfit(int[] prices) {
        if (prices ==null) {
            return 0;
        }
        //在最小价格时买入,最大利润时卖出
        //最小价格
        int minPrice = Integer.MAX_VALUE;
        //最大利润
        int maxProfit = 0;

        for (int i=0; i<prices.length; i++) {
            //当天价格小于最小价格,刷新最小价格
            if (prices[i] < minPrice) {
                minPrice = prices[i];
            } else if ( prices[i] - minPrice > maxProfit  ) {
                //当天价格减去最小价格,大于最大利润,刷新最大利润
                maxProfit = prices[i] - minPrice;
            }

        } 
        return maxProfit;

    }

标签:买卖,int,maxProfit,leetCode121,最佳时机,买入,prices,价格,利润
From: https://www.cnblogs.com/expiator/p/18651793

相关文章

  • 算法训练营Day28 | leetcode 122.买卖股票的最佳时机II 55.跳跃游戏 45.跳跃游戏II
    122.买卖股票的最佳时机II本题首先要清楚两点:只有一只股票!当前只有买股票或者卖股票的操作想获得利润至少要两天为一个交易单元。贪心算法这道题目可能我们只会想,选一个低的买入,再选个高的卖,再选一个低的买入…循环反复。如果想到其实最终利润是可以分解的,那么本题就......
  • 122. 买卖股票的最佳时机 II
    题目链接解题思路:来到i天,如果i的价格大于i-1的价格,那么就可以赚到差价。所以,遍历的过程中,只要prices[i]>prices[i-1],那么就可以获利了代码classSolution:defmaxProfit(self,prices:List[int])->int:ans=0foriinrange(1,len(price......
  • 编程题-买卖股票的最佳时机
    题目:给定一个数组prices,它的第 i个元素 prices[i]表示一支给定股票第i天的价格。你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何......
  • 买卖股票的最佳时机 IV - 困难
    *************C++topic:188.买卖股票的最佳时机IV-力扣(LeetCode)*************Stockangin:Stillstocks.Intuitively,itfeelshard. Foronce:classSolution{public:intmaxProfit(vector<int>&prices){intminPrice......
  • 题解:买卖股票的最佳时机含冷冻期&&股票市场交易策略优化
    题目:力扣309—买卖股票的最佳时机含冷冻期|掘金—股票市场交易策略优化问题描述给定一个数组,数组中的第i个元素代表第i天的股票价格。小R需要设计一个算法来实现最大利润。股票交易规则如下:小R可以多次买卖股票,但在买入新的股票前必须卖出之前的股票。每次卖出股......
  • 买卖股票的最佳实际问题
    买卖股票的最佳时机问题问题介绍给定一个整数数组prices,其中prices[i]表示某支股票第i天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候最多只能持有一股股票。你也可以先购买,然后在同一天出售。返回你能获得的最大利润。解题思路暴力法、贪心算法、......
  • 代码随想录算法训练营第二十八天| leetcode122.买卖股票的最佳时机 II、leetcode55.
    1leetcode122.买卖股票的最佳时机II题目链接:122.买卖股票的最佳时机II-力扣(LeetCode)文章链接:代码随想录视频链接:贪心算法也能解决股票问题!LeetCode:122.买卖股票最佳时机II_哔哩哔哩_bilibili思路:自己不知道怎么写出来的一道题目,就觉得理解上面就是找到了方法,但是后面再......
  • 【一箭三雕战法】一线穿三板,擒妖捉牛好战法,技术构成和操作买卖要点图文教程
    一箭三雕,现实生活中,经常听到一石二鸟,一箭双雕这样的成语,比喻某种技能或计谋,能够达到超出常规的效果,让人惊喜!一箭三雕战法是一个实战效果非常好的股市战法,一般来说,只要指数环境不是太差,一箭三雕战法的准确率在90%以上,而且很有可能抓到的是主升浪或能够实现翻倍的大牛股。......
  • 经典战法【均线老鸭头】战法的机构构成,集中模型以及买卖操盘技术,技术要点图文详解
    直接上干货,首先【均线老鸭头】战法的均线构成我们选择5-10-60均线三条。老鸭头名称的由来,这是一个形象的说法,如上图,图中均线系统排列的形态,是不是像一个鸭脑袋?第一段上涨是鸭脖子,股价开始回落处画上一个圆圈,是鸭子的眼睛,第三段启动上涨的位置就是鸭子的嘴巴。整个图形合在一......
  • 【状态机DP】力扣309. 买卖股票的最佳时机含冷冻期
    给定一个整数数组prices,其中第prices[i]表示第i天的股票价格。​设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):卖出股票后,你无法在第二天买入股票(即冷冻期为1天)。注意:你不能同时参与多笔交易(你必须在再次购......