当前位置: 首页 > news >正文

​LeetCode解法汇总121. 买卖股票的最佳时机

 目录链接:

力扣编程题-解法汇总_分享+记录-CSDN博客

GitHub同步刷题项目:

https://github.com/September26/java-algorithms

原题链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台


描述:

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

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

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

示例 1:

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

示例 2:

输入:prices = [7,6,4,3,1]
输出:0
解释:在这种情况下, 没有交易完成, 所以最大利润为 0。

提示:

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

解题思路:

 

代码:

class Solution {
public:int maxProfit(vector<int> &prices){int minValue = prices[0];int maxProfit = 0;for (int i = 1; i < prices.size(); i++){maxProfit = max(maxProfit, prices[i] - minValue);minValue = min(prices[i], minValue);}return maxProfit;}
};

http://www.lryc.cn/news/185311.html

相关文章:

  • 【Go】go-es统计接口被刷数和ip访问来源
  • debian 安装 pg --chatGpt
  • 商城小程序代客下单程序开发演示
  • SpringBoot 整合 jetcache缓存
  • HTML5+CSS3+移动web 前端开发入门笔记(二)HTML标签详解
  • Maven 配置阿里云镜像
  • 矢量图绘制软件EazyDraw mac中文版软件介绍
  • Cocos Creator3.8 项目实战(四)巧用九宫格图像拉伸
  • 怎么使用jenkins设置web自动打包
  • 完美解决 flex 实现一行三个,显示多行,左对齐
  • 初识Spring
  • Mybatis 使用参数时$与#的区别
  • java基本数据类型和包装类型区别
  • 解锁Spring Boot的强大配置功能:@ConfigurationProperties与@PropertySources详解
  • Java和Vue字符串加密
  • Java:java版结巴分词:jieba-analysis
  • java生成一个符合密码学和安全性的随机秘钥
  • C++ - 右值引用 和 移动拷贝
  • 项目成员积分规则
  • Linux CentOS7 vim多窗口编辑
  • git使用,一点点
  • 第五章:最新版零基础学习 PYTHON 教程—Python 字符串操作指南(第八节 - 如何在 C/C++、Python 和 Java 中分割字符串?)
  • 【Java】语法特性篇
  • Vim教程
  • selenium查找网页如何处理网站资源一直加载非常卡或者失败的情况
  • 并发工具类库使用的常见问题
  • GD32F10X ----RTC
  • 使用UiPath和AA构建的解决方案 1. 机器人过程自动化入门
  • rust字面量
  • Unix Network Programming Episode 79