Python|买卖股票的最佳时机
问题描述给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。解决方案首先要运用一次遍历,将数据按一定顺序处理;完成遍历之后通过for循环和if循环将该组数据的最小值以及最大值找出并在最小值时购入彩票,最大值时卖出彩票,若最小值在最后将无法完成上述过程,可得到答案为0。代码如下:class Solution:def maxProfit(self, prices):res = 0minValue = float("inf")for i in range(len(prices)):if prices[i] < minValue:minValue = prices[i]elif prices[i] - minValue > res:res = prices[i] - minValuereturn resif __name__ == '__main__':solution=Solution()a = solution.maxProfit([])print(a)结语由于题目有不得在买入前卖出的条件限制,所以当给出一组数据后我们要先找到该组数据的最小值,再从最小值后找到比最小值大的值,再用该值减去最小值,而不是直接寻找列表中的最大值。“我知道”答题挑战如何将LeetCode中可运行的格式转化为PyCharm中可运行的格式?主编:欧洋稿件来源:深度学习与文旅应用实验室(DLETA)
赞 (0)