题目链接

121.买股票的的最佳时机

题目描述

给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。

如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。

注意你不能在买入股票前卖出股票。

示例 1:

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

示例 2:

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

解题思路:

采用动态规划的方法。

解题代码:

class Solution {public int maxProfit(int[] prices) {int n = prices.length;if(n<=0){System.out.println(0);return 0;}int maxMoney = 0;int min = prices[0];for (int i= 1; i<n ; i++) {maxMoney = Math.max(maxMoney, prices[i]-min);min = Math.min(min, prices[i]);}System.out.println(maxMoney);return maxMoney;}
}

Leetcode-121. 买卖股票的最佳时机相关推荐

  1. LeetCode #121 买卖股票的最佳时机 贪心 单调栈 动态规划

    LeetCode #121 买卖股票的最佳时机 题目描述 给定一个数组,它的第 iii 个元素是一支给定股票第 iii 天的价格. 如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算 ...

  2. leetcode - 121.买卖股票的最佳时机

    121.买卖股票的最佳时机 ------------------------------------------ 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 如果你最多只允许完成 ...

  3. LeetCode - 121. 买卖股票的最佳时机

    121. 买卖股票的最佳时机 class Solution {public int maxProfit(int[] prices) {if (prices == null || prices.leng ...

  4. LeetCode 121:买卖股票的最佳时机 思考分析

    题目描述: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润. 注意:你不能在买入股票 ...

  5. leetcode.121. 买卖股票的最佳时机(best-time-to-buy-and-sell-stock)

    文章目录 121. 买卖股票的最佳时机 代码与思路 暴力法 一次遍历 单调栈 122. 买卖股票的最佳时机 II 代码与思路 股票问题系列通解 121. 买卖股票的最佳时机 给定一个数组,它的第 i ...

  6. 105. Leetcode 121. 买卖股票的最佳时机 (动态规划-股票交易)

    给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格. 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票.设计一个算法来 ...

  7. leetcode 121. 买卖股票的最佳时机 (贪心 + 动规 + 双指针

    贪心的思路: 得到最小值,再挨个用数组中的值减去最小值,最终值取一个最大的 class Solution { public:int maxProfit(vector<int>& p ...

  8. LeetCode: 121. 买卖股票的最佳时机(C++)

    题目: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润. 注意你不能在买入股票前卖出股票 ...

  9. 158. Leetcode 121. 买卖股票的最佳时机 (贪心算法-股票题目)

    class Solution:def maxProfit(self, prices: List[int]) -> int:low, max_profit = float("inf&qu ...

  10. LeetCode 121. 买卖股票的最佳时机(Best Time to Buy and Sell Stock)

    简单粗暴的第一种解法: class Solution { public:int maxProfit(vector<int>& prices) {int m = prices.siz ...

最新文章

  1. 基于深度学习的点云配准Benchmark
  2. PHP开发如何实现多线程?
  3. 【NLP】使用堆叠双向 LSTM 进行情感分析
  4. 微型计算机实验四答案,微型计算机技术实验指导书的答案.doc
  5. python采用的编码是什么意思_深入浅出地,彻彻底底地理解Python中的编码
  6. python读取csv数据画直方图_用csv文件作为inpu在python中绘制直方图
  7. django 1.8 官方文档翻译:5-2-2 表单素材 ( Media 类)
  8. 未来语音识别技术的发展趋势会如何
  9. 型管件的作用_W型柔性铸铁排水管适用范围
  10. 深度学习TF—7.卷积神经网络CNN
  11. Atitit 字符串转换数组main参数解析 args splitByWholeSeparator String string= -host 101.1 8*124 -db 1
  12. 450v10 uf电容坏了,用470v50uf替代好吗?
  13. 集线器和交换机的区别
  14. 力矩目标值 fTorque计算(伺服力矩控制模式)
  15. 使用阿里云建站 ——记录踩过的坑
  16. 休假模块_如何为(几乎)任何电子邮件帐户创建休假消息
  17. 用于优化广告展示的深度强化学习实践
  18. HTTP 新增的 103 状态码,这次终于派上用场了!
  19. IP地址非你在商户平台设置的可用IP地址
  20. Linux操作备忘录

热门文章

  1. 注意:C语言结构体里不能赋初始值!
  2. web前端入门学习 html5(2)
  3. python 如何判断一个数为整数?(判断整数,没有小数)(取余)判断整型 isinstance()
  4. python 用matplotlib.pyplot画(绘制)图表时中文显示不出来怎么办?
  5. mysql ——读写分离
  6. Nginx教程系列五:Nginx+Keepalived搭建高可用主从架构
  7. windows11图文安装流程
  8. 2-Qt6命令行控制台项目
  9. 两个有序数组的中位数 python_Python寻找两个有序数组的中位数实例详解
  10. requestanimationframe_requestAnimationFrame详解以及无线页面优化