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

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

Question :    

 

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.

for example: array[]  = { 2, 5, 3, 8, 9, 4 } , maxProfit = 9 - 2 = 7.

Anwser 1 :       

 

class Solution {public:    int maxProfit(vector
&prices) { // Start typing your C/C++ solution below // DO NOT write int main() function if(prices.size() == 0) return 0; int ret = 0; int len = prices.size(); int maxPrice = prices[len-1]; for(int i = len - 1; i >= 0; i--){ maxPrice = max(prices[i], maxPrice); // maxPrice ret = max(ret, maxPrice - prices[i]); // maxProfit } return ret; }};

注意点:

 

最大利润,应该是先买的最低价与后卖的最高价的差值,因此需要考虑时间先后顺序

 

Anwser 2 :       

 

class Solution {public:    int maxProfit(vector
&prices) { // Start typing your C/C++ solution below // DO NOT write int main() function int maxp = 0; int dp = 0; for(int i = prices.size()-2; i >= 0 ;i--) { if(dp >= 0){ dp += (prices[i+1] - prices[i]); } else { dp = max(0, prices[i+1] - prices[i]); } maxp = max(dp, maxp); } return maxp; }};

说明:

 

1) 此法把两数之间最大差,转化为了求两数组之间最大和

2) dp += (prices[i+1] - prices[i]) 实际上是 dp +=  (prices[i+1] - prices[i])  +  (prices[i] - prices[i-1])  +  (prices[i-1] - prices[i-2]) + ... =  (prices[i] - prices[j])   (i > j)

 

 

参考推荐:

 

 

转载于:https://www.cnblogs.com/jiangu66/archive/2013/04/22/3035943.html

你可能感兴趣的文章
【原】小程序常见问题整理
查看>>
C# ITextSharp pdf 自动打印
查看>>
【Java】synchronized与lock的区别
查看>>
django高级应用(分页功能)
查看>>
【转】Linux之printf命令
查看>>
关于PHP会话:session和cookie
查看>>
STM32F10x_RTC秒中断
查看>>
display:none和visiblity:hidden区别
查看>>
C#double转化成字符串 保留小数位数, 不以科学计数法的形式出现。
查看>>
SpringMVC学习总结(三)——Controller接口详解(1)
查看>>
牛的障碍Cow Steeplechase
查看>>
Zookeeper选举算法原理
查看>>
嵌入式成长轨迹52 【Zigbee项目】【CC2430基础实验】【在PC用串口收数并发数】...
查看>>
3月29日AM
查看>>
利用IP地址查询接口来查询IP归属地
查看>>
HTML元素定义 ID,Class,Style的优先级
查看>>
【实数二分/前缀和维护】Best Cow Fences
查看>>
构造者模式
查看>>
浮点数转化为字符串
查看>>
http和https的区别
查看>>