Python, C++, JavaScript, SQL 및 TypeScript의 다양한 LeetCode 솔루션을 살펴보세요. 여러 프로그래밍 언어로 인터뷰 준비, 학습 및 코드 연습에 적합합니다. Github 레포 링크
배열이 주어졌습니다. 물가
어디 가격[i]
은 주어진 주식의 가격이다. 나는 일
낮.
당신은 선택하여 이익을 극대화하고 싶습니다 하루 하나의 주식을 사고 하나를 선택하려면 앞으로는 다른 날들 그 주식을 팔려고요.
반품 이 거래에서 얻을 수 있는 최대 이익.이익을 얻지 못하면 반품하십시오. 0
.
예시 1:
입력: 가격 = [7,1,5,3,6,4] 산출: 5 설명: 2일차 매수(가격=1), 5일차 매도(가격=6), 이익=6-1=5. 매도하기 전에 매수해야 하므로 2일차 매수와 1일차 매도는 허용되지 않습니다.
예 2:
입력: 가격 = [7,6,4,3,1] 산출: 0 설명: 이 경우 거래가 이루어지지 않으며 최대 이익 = 0입니다.
제약:
1 <= 가격.길이 <= 10 5
0 <= 가격[i] <= 10 4
파이썬
# 시간 복잡도: O(n) # 공간 복잡도: O(1) 입력 가져오기 목록 클래스 솔루션(객체): def maxProfit(self, 가격: List[int]) -> int: 이익, 최소 가격 = 0, 99999 for 가격의 가격: if 가격 < 최소 가격: 최소 가격 = 가격 else: 이익 = 최대(이익, 가격 - 최소 가격) 이익 반환 PriceList = [7, 1, 5, 3, 6, 4] 솔루션 = 솔루션() print(solution. maxProfit(가격목록))