MaxProfit
배열 A과, 에 대하여, A[Q]-A[P]가 0 이상이면 profit, 음수이면 loss이다.
직관적으로 가장 큰 수에서 가장 작은 수를 빼면 된다.
반복문을 돌면서 가장 작은 수를 업데이트하고, 현재 수에서 뺀 값을 profit으로 한다.
def solution(A):
if len(A) == 0 or len(A) == 1:
return 0
profit = 0
min_x = A[0]
for i in range(len(A)):
if min_x > A[i]:
min_x = A[i]
else:
profit = max(profit, A[i] - min_x)
return profit