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
1452A - Robot Program | 344A - Magnets |
96A - Football | 702B - Powers of Two |
1036A - Function Height | 443A - Anton and Letters |
1478B - Nezzar and Lucky Number | 228A - Is your horseshoe on the other hoof |
122A - Lucky Division | 1611C - Polycarp Recovers the Permutation |
432A - Choosing Teams | 758A - Holiday Of Equality |
1650C - Weight of the System of Nested Segments | 1097A - Gennady and a Card Game |
248A - Cupboards | 1641A - Great Sequence |
1537A - Arithmetic Array | 1370A - Maximum GCD |
149A - Business trip | 34A - Reconnaissance 2 |
59A - Word | 462B - Appleman and Card Game |
1560C - Infinity Table | 1605C - Dominant Character |
1399A - Remove Smallest | 208A - Dubstep |
1581A - CQXYM Count Permutations | 337A - Puzzles |
495A - Digital Counter | 796A - Buying A House |