Leetcode: 주식을 사고 팔기 가장 좋은 시기 II Python 솔루션 설명 포함
3454 단어 pythonalgorithmsdatastructures
전체 솔루션
def maxProfit(self, prices: List[int]) -> int:
if not prices or len(prices) is 1:
return 0
profit = 0
for i in range(1, len(prices)):
if prices[i] > prices[i - 1]
return profit
엣지 케이스
if not prices or len(prices) is 1:
return 0
입력에 무언가가 있는지 확인해야 합니다. 입력에 아무것도 없거나 항목이 하나만 있으면 이익을 얻을 수 없습니다. 따라서 0을 반환합니다.
결과 추적
profit = 0
이것은 우리가 마지막에 반환하고자 하는 것을 추적하는 곳에서 꽤 자명해야 합니다.입력을 통해 진행
for i in range(1, len(prices)):
이 부분은 여러 가지 방법으로 수행할 수 있지만 이 문제를 해결한 방법은 두 번째 인덱스부터 입력 배열을 반복하여 현재와 이전 인덱스를 비교할 수 있도록 하는 것이었습니다.현재를 이전과 비교하고 배열의 시작 부분에서 시작하면 오류가 발생합니다.
if prices[i] > prices[i - 1]:
profit += prices[i] - prices[i - 1]
따라서 현재 가격이 이전 주식보다 높으면 원하는 만큼의 이익을 얻을 수 있다는 의미입니다. 그래서 우리는
profit
현재 주가와 그 이전 주가의 차이를 더할 것입니다.주식 가격이 이전 주가보다 낮으면 수익을 내지 않으므로 입력 배열을 계속 반복합니다.
마지막으로 결과 이익을 반환할 수 있습니다.
Reference
이 문제에 관하여(Leetcode: 주식을 사고 팔기 가장 좋은 시기 II Python 솔루션 설명 포함), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jabermudez11/leetcode-best-time-to-buy-and-sell-stocks-ii-python-solution-with-explanation-35e1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)