题目:

给定一个数组,它的第 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) {//首先判断数组是否为空if(prices.length<=0){return 0;}//最大利润int max=0;//最小值,最小买入的时机int min=prices[0];//临时记录差值的数据int temp=0;//遍历for(int i=1;i<prices.length;i++){//如果当前之小于min就更新一下if(prices[i]<min){min=prices[i];}else{//否则就做差,算一下利润,然后再看看能否更新temp=prices[i]-min;if(temp>max){max=temp;}}}return max;}
}

Leetcode刷题java之121买股票的最佳时机相关推荐

  1. leetcode刷题java、c++、go语言三合一版本 谷歌师兄的刷题笔记、东哥的算法小抄、 Guide哥的Java面试突击版

    不久前火爆 GitHub 的 LeetCode 中文刷题手册,分享给大家,让正在找工作的朋友能够快速找到心仪的offer! <LeetCode Cookbook>目前已经收录了 520 道 ...

  2. Leetcode刷题java之3. 无重复字符的最长子串

    执行结果: 通过 显示详情 执行用时 :13 ms, 在所有 Java 提交中击败了49.96% 的用户 内存消耗 :37.5 MB, 在所有 Java 提交中击败了36.47%的用户 题目: 给定一 ...

  3. Leetcode刷题java之1079. 活字印刷

    可参考本博客回溯法专栏的最后一条的回溯法框架 https://blog.csdn.net/qq_41901915/article/details/104113330 执行结果: 通过 显示详情 执行用 ...

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

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

  5. LeetCode刷题Java——88.合并两个有序数组(简单)

    题目 给你两个按非递减顺序排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目. 请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列. ...

  6. Leetcode刷题笔记 714. 买卖股票的最佳时机含手续费

    714. 买卖股票的最佳时机含手续费 时间:2020年12月17日 知识点:动态规划 题目链接:https://leetcode-cn.com/problems/best-time-to-buy-an ...

  7. 《LeetCode刷题》—121. 买卖股票的最佳时机

    <LeetCode刷题>-121. 买卖股票的最佳时机 一.题目内容 原题连接:https://leetcode.cn/problems/best-time-to-buy-and-sell ...

  8. Leetcode刷题第1题:两数之和(基于Java语言)

    ** Leetcode刷题第1题:两数之和(基于Java语言) ** 题目: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标 ...

  9. Leetcode刷题 463题:岛屿的周长(基于Java语言)

    ** Leetcode刷题 463题:岛屿的周长(基于Java语言) ** 一. 题目描述: 给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域. 网格中的格子水平和垂直方向相 ...

最新文章

  1. SharePoint 搜索功能失效
  2. 用Python画一只蝙蝠
  3. 基于Accord.Audio和百度语言识别
  4. FreeRTOS--API函数
  5. 阿里巴巴云原生大数据运维平台 SREWorks 正式开源
  6. TortoiseGitPlink提示输入密码解决方法
  7. java赋值运算符_11.Java赋值运算符
  8. phpcmsV9 QQ互联 相关文件配置成功 - 总结篇
  9. seqlist插入java_线性表插入c语言代码我想问的是seqlist *l中的*l不是太理解。它指向了哪里...
  10. 银行计算机管理系统开发背景,银行储蓄管理系统的设计与实现
  11. Spark Hive实现基于协同过滤的电影推荐(MovieLens数据集)
  12. 【matlab学习】用matlab编写简单程序(入门)
  13. 明日之后怎么在电脑上玩 明日之后电脑版图文攻略
  14. 最强nba体验服显示服务器正在停机,最强NBA体验服
  15. 学计算机的怎样提升打字速度,想提高打字速度吗?
  16. 【JS】日期Date如何格式化为年月日yyyy-MM-dd hh:mm:ss
  17. “收藏本站” 的代码
  18. 杰理之关于608n省晶振模式使用PWM_LED的注意事项【篇】
  19. 临床研究统计分析的要求和报告规范
  20. li-poly_GitHub - kinglisky/lowpoly: low poly图片风格化工具

热门文章

  1. adxl345取出值怎么算角度_adxl345怎样通过想,x,y,z的输出计算出角度值
  2. 微信赞赏不适合国内免费模式主导的互联网市场
  3. Mac电脑使用:通过Mac电脑导出iPhone手机里面的视频(不是iTunes导出视频的方法)
  4. 大家快来尝尝鲜 转用 curl 和 scsh 编写 web 脚本(转)
  5. 计算机上绘图教程,word绘图教程:绘图工具中的“线条”工具使用-word技巧-电脑技巧收藏家...
  6. 【HTML】HTML 标签 ⑤ ( 锚点定位 | base 标签 | 预格式化文本标签 | HTML 特殊符号 )
  7. 多功能表白墙源码开源无加密
  8. 学习唐诗宋词好帮手 能看也能听
  9. Pygame文字重叠现象
  10. word排版实例:如何将文档中的公式与文字对齐