【Python--买卖股票最佳时机】
文章图片
class Solution:
def maxProfit(self, prices: List[int]) -> int:
"""
基本思路:遇低看最低则买,遇高看最高则卖
"""
# 返回的最大利润
max_profit = 0
# 买入的列表
buyin = []
# 买入的列表
saleout = []
# 循环初始值
j = 0
if len(prices) < 2:
return max_profit
while j < len(prices):
# 买入
if len(buyin) <= len(saleout) :
# 判断是否是最后一个元素
ifj >= len(prices)-1 and prices[j] <= prices[j-1]:
break
# 不是是最后一个元素,最低的买入
elif prices[j] < prices[j+1]:
buyin.append(prices[j])
j = j + 1
elif prices[j] >= prices[j+1] :
j = j + 1
# 卖出
elif len(buyin) > len(saleout):
# 判断是否是最后一个元素
ifj >= len(prices)-1 and prices[j] >= prices[j-1]:
saleout.append(prices[j])
break
# 不是是最后一个元素,最高的卖出
elif prices[j] > prices[j+1] :
saleout.append(prices[j])
j = j + 1
elif prices[j] <= prices[j+1]:
j = j + 1
# 计算最后结果
max_profit = sum([saleout[i] - buyin[i] for i in range(len(saleout))])
return max_profit
推荐阅读
- 推荐系统论文进阶|CTR预估 论文精读(十一)--Deep Interest Evolution Network(DIEN)
- Python专栏|数据分析的常规流程
- Python|Win10下 Python开发环境搭建(PyCharm + Anaconda) && 环境变量配置 && 常用工具安装配置
- Python绘制小红花
- Pytorch学习|sklearn-SVM 模型保存、交叉验证与网格搜索
- OpenCV|OpenCV-Python实战(18)——深度学习简介与入门示例
- python|8. 文件系统——文件的删除、移动、复制过程以及链接文件
- 爬虫|若想拿下爬虫大单,怎能不会逆向爬虫,价值过万的逆向爬虫教程限时分享
- 分布式|《Python3网络爬虫开发实战(第二版)》内容介绍
- java|微软认真聆听了开源 .NET 开发社区的炮轰( 通过CLI 支持 Hot Reload 功能)