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

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

只有每次看这个图的时候才觉得c++没有白学啊~~~平常用vs的时候都各种怀念eclipse,各种怀念java~~~

这题算的是最大利润,原先我想的是找到最小值和最大值,之差不就是最大利润了么,后来想想,最小值可能在最大值之后,不能说在3号买进了回去1号卖出股票哈~然后想,记录某天之前的最小值,再记录那天之后的最大值,这么一算就能算出在某段时间内的最大利润了,再比一比好几段时间内的利润,就能算出最终的最大利润。

class Solution {    // maxVal[i]和minVal[i]表示i之后的最大值和i之前的最小值,最后再遍历一边,算出最大利润public:    int maxProfit(vector
&prices) { if(prices.empty()) return 0; const int size = prices.size(); int maxVal[size], minVal[size]; int maxProfit(INT_MIN); minVal[0] = prices[0]; maxVal[size - 1] = prices[size - 1]; for(int i = 1; i < size; i ++){ minVal[i] = min(minVal[i-1], prices[i]); } for(int i = size-2; i >= 0; i --){ maxVal[i] = max(maxVal[i+1], prices[i]); } for(int i = 0; i < size; i ++){ maxProfit = max(maxProfit, maxVal[i] - minVal[i]); } return maxProfit; }};

转载于:https://www.cnblogs.com/skysand/p/4224648.html

你可能感兴趣的文章
ORA-00845: MEMORY_TARGET not supported on this system
查看>>
用项目自学python 类,构造函数,析构函数,私有属性,继承,多继承
查看>>
[Postgres] Group and Aggregate Data in Postgres
查看>>
[Node.js] Level 5. Express
查看>>
20个有用的正则表达式
查看>>
PTA 02-线性结构3 Reversing Linked List (25分)
查看>>
.Net开源框架列表【转载】
查看>>
(转)Linux内核之进程和系统调用
查看>>
利用 Composer 完善自己的 PHP 框架(二)
查看>>
Go语言的接口interface、struct和组合、继承
查看>>
index-css-添加类-移除类-toggleClass-attr
查看>>
环境配置
查看>>
Linux基础学习
查看>>
SQL Server数据库的存储过程中定义的临时表,真的有必要显式删除(drop table #tableName)吗?...
查看>>
Android 常见的工具类
查看>>
Linux的系统级性能剖析工具-perf
查看>>
改变FileUpload文件上传控件的显示方式,确认后上传
查看>>
二维码Java和Jquery生成方式
查看>>
分支结构
查看>>
Servlet 总结
查看>>