给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。

设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。

注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。

示例 1:

输入: [7,1,5,3,6,4]
输出: 7
解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。
  随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6-3 = 3 。
示例 2:

输入: [1,2,3,4,5]
输出: 4
解释: 在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。
  注意你不能在第 1 天和第 2 天接连购买股票,之后再将它们卖出。
  因为这样属于同时参与了多笔交易,你必须在再次购买前出售掉之前的股票。
示例 3:

输入: [7,6,4,3,1]
输出: 0
解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。

class Solution:
def maxProfit(self, prices: List[int]) -> int:
if prices == []:
return
res =
small = prices[]
for n in prices[:]:
if small < n:
res += n-small
small = n
else:
small = n
return res

最新文章

  1. new Array(n) 的坑 密集数组和稀疏数组
  2. SQL-truncate &amp;&amp; delete &amp;&amp; drop 的区别
  3. Objective C for Windows
  4. MSChart参考
  5. Day05_JAVA语言基础第五天
  6. sqlplus将查询结果重定向到文件,不输出到屏幕
  7. 读《JavaScript语言精粹》的一些感言
  8. Solaris用户管理(一):用户与组管理
  9. JSthis对象
  10. MVC理解
  11. 卷积神经网络(CNN)模型结构
  12. Day5模块-shutil模块
  13. Linux Debugging(二): 熟悉AT&amp;T汇编语言
  14. Zabbix WMI监控
  15. poj3259Wormholes (Bellman_Ford/SPFA/Floyed算法判断是否存在负环)
  16. 利用shell脚本实现nginx 的logs日志分割
  17. 安卓开发_深入理解Handler消息传递机制
  18. Tomcat启动startup.bat闪退和JRE_HOME错误
  19. 【ASP.NET】 MVC下拉框联动
  20. postgresql 修改字段名称

热门文章

  1. 前端 CSS层叠性 CSS选择器优先级
  2. Java相关面试题总结+答案(七)
  3. [Vim] 03 凡人进阶
  4. Netty实战之性能调优与设计模式
  5. HDFS中NameNode和Secondary NameNode工作机制
  6. [2019杭电多校第五场][hdu6628]permutation 1
  7. CSS制作垂直口风琴2
  8. 使用Tabulator遇到的问题
  9. LINUX VSFTP配置及安装
  10. ps:不规则选区