LeetCode 기술을 연마하기 위한 지속적인 탐구 과정에서 저는 "주식 매매에 가장 적합한 시기 II" 문제를 해결했습니다. 이 챌린지는 고전적인 "주식 매수 및 매도 최적기 II" 문제(LeetCode 121)의 후속 조치이지만 중요한 차이점이 있습니다. *여러 거래를 실행하여 수익을 극대화할 수 있습니다.
*
코드를 살펴보기 전에 화이트보드에 문제를 시각화하는 것이 매우 도움이 된다는 것을 알았습니다. 이를 통해 문제를 더 작고 관리하기 쉬운 단계로 나눌 수 있었습니다.
무제한 거래가 가능한 유연성을 고려하면 탐욕스러운 접근 방식이 유망해 보였습니다. 핵심 아이디어는 간단합니다. 주식 가격이 전날에 비해 상승할 때마다 우리는 이를 잠재적인 수익 기회로 간주합니다. 이러한 가격 차이를 모두 합산하여 효과적으로 최대 이익을 계산합니다.
이 그리디 전략을 구현하는 Python 코드는 다음과 같습니다.
class Solution: def maxProfit(self, prices: List[int]) -> int: profit = 0 for i in range(1, len(prices)): if prices[i] > prices[i-1]: profit+=prices[i] - prices[i-1] return profit
/** * @param {number[]} prices * @return {number} */ var maxProfit = function(prices) { var profit = 0; for (var i = 1; i < prices.length; i++) { if(prices[i] > prices[i-1]) { profit += Number(prices[i] - prices[i-1]) } } return profit };
위 내용은 LeetCode 크래킹 . 주식을 사고 파는 가장 좋은 시기 II의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!