博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
121. Best Time to Buy and Sell Stock(动态规划)
阅读量:5080 次
发布时间:2019-06-12

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

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.

Example 1:

Input: [7, 1, 5, 3, 6, 4]Output: 5max. difference = 6-1 = 5 (not 7-1 = 6, as selling price needs to be larger than buying price)

Example 2:

Input: [7, 6, 4, 3, 1]Output: 0In this case, no transaction is done, i.e. max profit = 0.

分析

首先通过把相邻的股票价格相减得到一组差价,后面就转化成了最大子列和问题了;另外注意当传进来的prices的数组为空时,返回0;

class Solution {public:    int maxProfit(vector
& prices) { if(prices.size()==0) return 0; vector
profits(prices.size()); profits[0]=0; for(int i=1;i

转载于:https://www.cnblogs.com/A-Little-Nut/p/8321906.html

你可能感兴趣的文章
【学习笔记】彻底理解JS中的this
查看>>
Land of Farms HDU - 5556 二分图匹配
查看>>
Java 入门
查看>>
基于WDF的PCI/PCIe接口卡Windows驱动程序(4)- 驱动程序代码(源文件)
查看>>
团队作业进度记录2
查看>>
MyBatis 使用Generator自动生成Model , Dao, mapper
查看>>
FATAL ERROR: JS Allocation failed - process out of memory
查看>>
Spring事务梳理
查看>>
垃圾回收机制
查看>>
项目Beta冲刺 随笔集合
查看>>
解决eclipse在tomcat发布web项目时明明已经存在相应的jar包却报类找不到的问题
查看>>
同级css渲染顺序问题
查看>>
CocosIDE导出Android APK的注意事项
查看>>
C++各大有名科学计算库(转)
查看>>
基于QT和OpenCV的人脸检測识别系统(2)
查看>>
(转)视频监控相关文章
查看>>
Python异常处理体系
查看>>
centos7.0 增加/usr分区的容量减少home分区的大小
查看>>
C#在线获取歌词(转)
查看>>
zabbix---添加主机
查看>>