博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode 121 Best Time to Buy and Sell Stock
阅读量:6436 次
发布时间:2019-06-23

本文共 904 字,大约阅读时间需要 3 分钟。

题目详情

Say you have an array for which the ith element is the price of a given stock on day i.
If you were only permitted to complete at most one transaction (ie, buy one and sell one share of the stock), design an algorithm to find the maximum profit.
这道题描述的意思就是,给定一个数组prices,里面的第i个元素就是商品第i天的价格。我们要选择某天买入,某天卖出(卖出操作肯定在买入操作之后)。求可能的最大利润

题目给了两个例子

Example 1:
Input: [7, 1, 5, 3, 6, 4]
Output: 5
最大利润就是进价为1,卖价为6的时候,利润为5.
Example 2:
Input: [7, 6, 4, 3, 1]
Output: 0
在这个案例中,进价一直高于售价,所以无法成交,返回0。

理解

  • 这道题理解了其实是比较简单的。主要注意一下,先买入才能卖出、卖价一定要比买入价格高才能成交就可以了。

解法

public int maxProfit(int[] prices) {        int maxProfit = 0;        int minBuyPrice = 0;                if(prices.length <= 1){            return 0;        }                minBuyPrice = prices[0];                for(int i=1;i
maxProfit){ maxProfit = curPrice - minBuyPrice; } } return maxProfit; }

转载地址:http://pohga.baihongyu.com/

你可能感兴趣的文章
CodeForces 396C 树状数组 + DFS
查看>>
[sharepoint]rest api文档库文件上传,下载,拷贝,剪切,删除文件,创建文件夹,修改文件夹属性,删除文件夹,获取文档列表...
查看>>
远程桌面退出全屏/不能全屏/全屏切换的技巧
查看>>
【Java】Float计算不准确
查看>>
mybatis在xml文件中处理大于号小于号的方法
查看>>
Codeforces Codeforces Round #319 (Div. 2) A. Multiplication Table 水题
查看>>
各大浏览器CSS Hack收集
查看>>
再谈 $* 和 $@ 在 Bash 中的表现
查看>>
Apache Commons工具集简介
查看>>
Win8Metro(C#)数字图像处理--2.33图像非线性变换
查看>>
【翻译】Nginx的反向代理
查看>>
htm、html、shtml网页区别
查看>>
SpringCloud学习笔记:服务注册与发现Eureka(2)
查看>>
学习新 api 的思考过程 4.18
查看>>
想要设计自己的微服务?看这篇文章就对了
查看>>
一起撸个朋友圈吧(step5) - 控件篇【评论控件优化】
查看>>
一起撸个朋友圈吧 图片浏览(上)【图片点击前景色】
查看>>
[译] 原生 JavaScript 值得学习吗?答案是肯定的
查看>>
29岁了还一事无成是人生的常态?
查看>>
gRPC-rs:从 C 到 Rust
查看>>