您现在的位置是:首页 > 编程 > 

买卖股票的最佳时机(C++)

2025-07-22 06:30:44
买卖股票的最佳时机(C++) 买卖股票的最佳时机给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。示例 1:代码语言:javascript代码运行次数:

买卖股票的最佳时机(C++)

买卖股票的最佳时机

给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。

你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。

返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0

示例 1:

代码语言:javascript代码运行次数:0运行复制
输入: [7,1,5,,6,4]
输出: 5
解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。
     注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。

示例 2:

代码语言:javascript代码运行次数:0运行复制
输入: prices = [7,6,4,,1]
输出: 0
解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。

提示:

  • 1 <= prices.length <= 105
  • 0 <= prices[i] <= 104

我的代码:

代码语言:javascript代码运行次数:0运行复制
class Solution {
public:
    int maxProfit(vector<int>& prices) {
        int IF = 1000000;
        int minp = IF, maxp = 0;
        // 这个题的本质就是从前往后看 到当前已知的最下的数字, 然后用未来最大的数字减去他
        for (auto price: prices)
        {
            maxp = max(maxp, price - minp);
            minp = min(price, minp);
        }
        return maxp;
    }
};

对应我的掘金文章

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2022-10-19,如有侵权请联系 cloudcommunity@tencent 删除数组算法c++int设计

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1160716.html

相关标签:无
上传时间: 2025-07-20 14:37:22

上一篇:杨辉三角 II(C++)

下一篇:验证回文串(C++)

留言与评论(共有 13 条评论)
本站网友 少女漫画家
30分钟前 发表
分享自作者个人站点/博客
本站网友 占领男厕所
15分钟前 发表
如果你不能获取任何利润
本站网友 炒股口决
2分钟前 发表
price - minp); minp = min(price
本站网友 空气污染源
8分钟前 发表
minp); } return maxp; } };对应我的掘金文章:本文参与 腾讯云自媒体同步曝光计划
本站网友 八大峡二手房
19分钟前 发表
如果你不能获取任何利润
本站网友 解读
26分钟前 发表
minp); } return maxp; } };对应我的掘金文章:本文参与 腾讯云自媒体同步曝光计划
本站网友 融汇国际温泉城
26分钟前 发表
prices) { maxp = max(maxp
本站网友 中山大学论坛
29分钟前 发表
prices) { maxp = max(maxp
本站网友 rgb转16进制
21分钟前 发表
1] 输出: 0 解释: 在这种情况下
本站网友 想起你的脸
12分钟前 发表
4
本站网友 魏玛
1分钟前 发表
6
本站网友 陈代明硬笔体
18分钟前 发表
你不能在买入前卖出股票