class Solution:
def maxProfit(self, prices: List[int]) -> int:
if not prices:
return 0
max = 0
curr = prices[-1]
for i in range(len(prices)-2,-1,-1):
if prices[i]>=curr:
curr = prices[i]
else:
mn = prices[0]
mx = 0
for j in prices[0:i]:
if mn>j:
mn = j
elif j-mn>mx:
mx = j-mn
profit = curr-prices[i] + mx
if max<profit:
max = profit
return max
1486B - Eastern Exhibition | 1363A - Odd Selection |
131B - Opposites Attract | 490C - Hacking Cypher |
158B - Taxi | 41C - Email address |
1373D - Maximum Sum on Even Positions | 1574C - Slay the Dragon |
621A - Wet Shark and Odd and Even | 1395A - Boboniu Likes to Color Balls |
1637C - Andrew and Stones | 1334B - Middle Class |
260C - Balls and Boxes | 1554A - Cherry |
11B - Jumping Jack | 716A - Crazy Computer |
644A - Parliament of Berland | 1657C - Bracket Sequence Deletion |
1657B - XY Sequence | 1009A - Game Shopping |
1657A - Integer Moves | 230B - T-primes |
630A - Again Twenty Five | 1234D - Distinct Characters Queries |
1183A - Nearest Interesting Number | 1009E - Intercity Travelling |
1637B - MEX and Array | 224A - Parallelepiped |
964A - Splits | 1615A - Closing The Gap |