[LeetCode] 0122. 주식을 사고 팔기에 가장 좋은 시기 II

Python, C++, JavaScript, SQL 및 TypeScript의 다양한 LeetCode 솔루션을 살펴보세요. 여러 프로그래밍 언어로 인터뷰 준비, 학습 및 코드 연습에 적합합니다. Github 레포 링크

중간


정수 배열이 제공됩니다. 물가 어디 가격[i] 은 주어진 주식의 가격이다. 나는  낮.

매일 주식을 매수 및/또는 매도하기로 결정할 수 있습니다. 많아야 하나 그러나 언제든지 주식을 매수한 후 즉시 매도할 수 있습니다. 같은 날.

찾아 돌려보내기 그만큼 최고 얻을 수 있는 이익.

 

예시 1:

입력: 가격 = [7,1,5,3,6,4]
산출: 7
설명: 2일째 매수(가격 = 1), 3일째 매도(가격 = 5), 이익 = 5-1 = 4. 그런 다음 4일째 매수(가격 = 3), 5일째 매도(가격 = 6), 이익 = 6-3 = 3. 총 이익은 4 + 3 = 7입니다.

예 2:

입력: 가격 = [1,2,3,4,5]
산출: 4
설명: 1일째 매수(가격 = 1), 5일째 매도(가격 = 5), 이익 = 5-1 = 4. 총 이익은 4입니다.

예시 3:

입력: 가격 = [7,6,4,3,1]
산출: 0
설명: 플러스 수익을 낼 수 있는 방법은 없으므로, 우리는 최대 수익 0을 달성하기 위해 주식을 사지 않습니다.

 

제약:

  • 1 <= 가격.길이 <= 3 * 10 4
  • 0 <= 가격[i] <= 10 4

파이썬

				
					# 시간 복잡도: O(n) # 공간 복잡도: O(1) 입력 가져오기 목록 클래스 솔루션: def maxProfit(self, 가격: List[int]) -> int: 이익 = 0 for i in range(1, len (가격)): 가격[i] > 가격[i-1]인 경우: 이익 += 가격[i] - 가격[i-1] 반환 이익 가격 = [7, 1, 5, 3, 6, 4] 인쇄 (솔루션().maxProfit(가격))
				
			
ko_KR한국어