【Leetcode】Best Time to Buy and Sell Stock
2015-09-20 15:17
281 查看
1 题目
2 Python代码
class Solution(object): def maxProfit(self, prices): """ :type prices: List[int] :rtype: int """ if len(prices) == 0: return 0 low = prices[0] ans = 0 for i in range(len(prices)): if prices[i] < low: low = prices[i] elif (prices[i] - low) > ans: ans = prices[i] - low return ans
3 分析
正解:从前向后遍历,遍历过程中对最小值和与最小值所得的最大差进行更新,最后返回最大差;时间复杂度为O(n)误解: 一开始,考虑对每一个数,计算其后面所有数中的最大值,然后用这个最大值减去该数得到该数所对应的最大差;最后返回这些最大差中的最大值;但时间复杂度为O(n^2)
相关文章推荐
- LNMP的安装
- Android事件分发完全解析(自己)
- getParameter
- 分区表 FSTAB
- 新手报到~对算法的一些思考
- 流形-Manifold
- 流形-Manifold
- 帝国cms缩略图:网站不同地方生成不同的缩略图
- 面试
- Win7系统日志提示在没有配置的 DNS 服务器响应之后,名称“域名”的名称解析超时的解放方法
- Android内存管理机制详解
- VMWARE虚拟机非正常关机导致无法启动的解决办法
- Android开源控件----Android显示GIF图像控件------android-gif-drawable
- Android Api Demos登顶之路(七十六)Graphics-->ShapeDrawable
- 事务中SET XACT_ABORT各种用法
- Android AIDL技术详解
- hdu5461 Largest Point(沈阳网赛)
- HTML中的文本控制
- Jade —— 源于 Node.js 的 HTML 模板引擎
- 软件工程视频总结