题目概述
链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/
解题思路
1.暴力遍历:用后面的数减前面的数,看差值。(时间复杂度(n^2))
2.暴力遍历优化:记录下买股票的最低价格,并不断比较差价,只用一次循环。
max1=0
for i in range (len(prices)):
for j in range(i,len(prices)):
chajia=prices[j]-prices[i]
if chajia >= max1:
max1=chajia
return max1
class Solution:
def maxProfit(self, prices: List[int]) -> int:
min_prices=float('inf')
max_prices=0
for i in range(len(prices)):
min_prices=min(prices[i],min_prices)
max_prices=max(max_prices,prices[i]-min_prices)
return max_price