Leetcode刷题java之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) {//首先判断数组是否为空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买股票的最佳时机相关推荐
- leetcode刷题java、c++、go语言三合一版本 谷歌师兄的刷题笔记、东哥的算法小抄、 Guide哥的Java面试突击版
不久前火爆 GitHub 的 LeetCode 中文刷题手册,分享给大家,让正在找工作的朋友能够快速找到心仪的offer! <LeetCode Cookbook>目前已经收录了 520 道 ...
- Leetcode刷题java之3. 无重复字符的最长子串
执行结果: 通过 显示详情 执行用时 :13 ms, 在所有 Java 提交中击败了49.96% 的用户 内存消耗 :37.5 MB, 在所有 Java 提交中击败了36.47%的用户 题目: 给定一 ...
- Leetcode刷题java之1079. 活字印刷
可参考本博客回溯法专栏的最后一条的回溯法框架 https://blog.csdn.net/qq_41901915/article/details/104113330 执行结果: 通过 显示详情 执行用 ...
- [LeetCode刷题笔记]714 - 买卖股票的最佳时机含手续费(C++/Python3/Java/动态规划/贪心)
一.题目描述 给定一个整数数组 prices 和 整数 fee ,其中 prices[i] 表示第 i 天的股票价格,fee 代表了交易股票的手续费用. 你可以无限次地完成交易,但是你每笔交易都需要付 ...
- LeetCode刷题Java——88.合并两个有序数组(简单)
题目 给你两个按非递减顺序排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目. 请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列. ...
- Leetcode刷题笔记 714. 买卖股票的最佳时机含手续费
714. 买卖股票的最佳时机含手续费 时间:2020年12月17日 知识点:动态规划 题目链接:https://leetcode-cn.com/problems/best-time-to-buy-an ...
- 《LeetCode刷题》—121. 买卖股票的最佳时机
<LeetCode刷题>-121. 买卖股票的最佳时机 一.题目内容 原题连接:https://leetcode.cn/problems/best-time-to-buy-and-sell ...
- Leetcode刷题第1题:两数之和(基于Java语言)
** Leetcode刷题第1题:两数之和(基于Java语言) ** 题目: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标 ...
- Leetcode刷题 463题:岛屿的周长(基于Java语言)
** Leetcode刷题 463题:岛屿的周长(基于Java语言) ** 一. 题目描述: 给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域. 网格中的格子水平和垂直方向相 ...
最新文章
- 一个女生写的如何追mm.看完后嫩头青变高手.zz(转贴)
- YoloV5 最强剪枝技术 模型压缩,3ms推理的YoloV5mAP60
- python之路-day19-面向对象之约束
- Java的基础数据类型
- 查看linux是几位的操作系统
- MyBatis Plus——分页插件【PaginationInnerInterceptor】
- ElasticSearch搜索语法进阶学习(搜索+聚合,过滤+聚合)
- 树哈希判断同构无根同构问题转有根同构问题
- c#打印程序原码_C#程序打印新行
- 清除缓存 c语言_如何用C语言设置,清除和切换单个位?
- Bluetooth Obex
- 利用mongodb开发lbs应用实践【转】
- c语言中如何确保一个程序是单例的_c++单例模式
- java 工程路径_java 项目的路径详情
- LoRa协议在Arduino上的应用——原理及代码分析(一)
- 时序逻辑电路的分析和设计
- Unity - 撸一个简单版本的 四叉树 + 视锥cascaded,用于场景剔除
- 异常与调试之SEH、UEH、VEH、VCH以及SEH原理
- 【c51单片机】交通红绿灯设计
- java swing开发窗体程序开发(四)MVC结构
热门文章
- java代码质量检查工具
- TI DSP C:\ti 目录架构
- OpenFOAM无反射边界条件源码学习
- 2019斯坦福CS224n深度学习自然语言处理笔记(3)——分类模型与神经网络
- mac笔记本开发环境——常用功能记录
- 基于ResNet50实现宫颈细胞病变分类
- ME21N,ME22N,ME23N之BADI增强ME_PROCESS_PO_CUST
- 一个高度复杂的APT框架泰姬陵被发现仅用于针对一个中亚外交目标
- 设计模式--工厂模式(三种)
- WinDbg 命令三部曲:(三)WinDbg SOSEX 扩展命令手册