题目

给定一个数组,它的第 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 mcur = 0,min = Integer.MAX_VALUE;for (int price : prices) {if (min == Integer.MAX_VALUE) {
//                mcur = price - min;}else {mcur = Math.max(price - min,mcur);}min = Math.min(price,min);}return Math.max(mcur, 0);}
}

算法-----买卖股票的最佳时机(Java 版本)相关推荐

  1. 《LeetCode力扣练习》第121题 买卖股票的最佳时机 Java

    <LeetCode力扣练习>第121题 买卖股票的最佳时机 Java 一.资源 题目: 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价 ...

  2. 代码随想录贪心算法——买卖股票的最佳时机含手续费

    题目 给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 :非负整数 fee 代表了交易股票的手续费用. 你可以无限次地完成交易,但是你每笔交易都需要付手续费.如果你已经购买 ...

  3. 算法------买卖股票的最佳时机

    题目: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格.设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票).注意:你不能同时参与多笔交易(你必须在 ...

  4. 【每日一算法】买卖股票的最佳时机

    微信改版,加星标不迷路! 每日一算法-买卖股票的最佳时机 作者:阿广 阅读目录 1 题目 2 解析 1 题目 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 如果你最多只允许完成一笔 ...

  5. JAVA刷Leecode-贪心算法-区间问题-买卖股票的最佳时机 II

    JAVA刷Leecode-贪心算法 算法思想 区间问题-买卖股票的最佳时机 II(122.,easy) 题目描述 输入输出样例 示例1 示例 2: 解题思路: 题解 解题思路:贪心算法 题解 资源学习 ...

  6. [LeetCode刷题笔记]714 - 买卖股票的最佳时机含手续费(C++/Python3/Java/动态规划/贪心)

    一.题目描述 给定一个整数数组 prices 和 整数 fee ,其中 prices[i] 表示第 i 天的股票价格,fee 代表了交易股票的手续费用. 你可以无限次地完成交易,但是你每笔交易都需要付 ...

  7. 算法训练Day49 | Leetcode121. 买卖股票的最佳时机(只能买卖一次);LeetCode122. 买卖股票的最佳时机II(可以买卖多次)

    目录 Leetcode121. 买卖股票的最佳时机 方法一:暴力解法 1. 思路 2. 代码实现 3. 复杂度分析 4. 思考与收获 方法二:贪心算法 1. 思路 2. 代码实现 3. 复杂度分析 方 ...

  8. 算法训练第五十天 | 123.买卖股票的最佳时机III、188.买卖股票的最佳时机IV

    动态规划part11 123.买卖股票的最佳时机III 题目描述 思路 拓展 188.买卖股票的最佳时机IV 题目描述 思路 易错点 123.买卖股票的最佳时机III 题目链接:123.买卖股票的最佳 ...

  9. LeedCode121. 买卖股票的最佳时机(Java语言实现)

    LeedCode两周刷完数据结构 一.121. 买卖股票的最佳时机(Java语言实现) 题目描述 推荐方法:DP思想 进阶方法:一次遍历 复杂度 结果 一.121. 买卖股票的最佳时机(Java语言实 ...

最新文章

  1. 如何将内核静态库编译连接到驱动程序中去【转】
  2. 网络原理往期考试题+部分详解+最终版
  3. z490 linux raid,华硕z490主板装win7系统及bios设置教程(支持10代usb驱动)
  4. STARTUPINFO结构
  5. 前端学习(3281):生成器迭代器
  6. [Leetcode][第141、142题][JAVA][环形链表][哈希表][快慢指针][数学推理]
  7. AngularJs angular.equals
  8. oracle100多g满了,Oracle11g ORA-00257归档日志满问题处理
  9. 一篇文章学完数据结构绪论 线性表 栈和队列
  10. Failed to resolve: support-core-ui和Failed to resolve: runtime
  11. JS字符(字母)与ASCII码转换
  12. iTween_itween可视化编辑器(1)
  13. linux查看jdk版本_linux环境查看jdk版本
  14. dpdk example——l3fwd
  15. cesium颜色值赋值
  16. npm install报错 npm ERR 的四种解决办法
  17. 常见虚拟机及网络模式
  18. 学习C语言常用的几个网站
  19. parseInt()和parseFloat()的解析原理
  20. SKY66111-11低功耗蓝牙芯片

热门文章

  1. 自学了python基础英语_Python自学路线图之Python基础自学
  2. python requests_Python爬虫之requests模块
  3. annie安装教程与Access is denied解决方法
  4. sublime text3 怎么配置、运行python_怎么用sublime text 3搭建python 的ide?
  5. 为了探究不同光照处理_浅谈中考物理实验探究易错题
  6. python day08
  7. windows环境下搭建rabbitMQ开发环境
  8. Python之目录结构
  9. 高通的专利霸权要到头了?
  10. mysql事务的四大特性与简单运用