Notice
Recent Posts
Recent Comments
Link
반응형
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Archives
Today
Total
관리 메뉴

고양이발일기

[Python] LeetCode - Best Time to Buy and Sell Stock 본문

알고리즘

[Python] LeetCode - Best Time to Buy and Sell Stock

sowish 2023. 5. 19. 14:34
반응형

Problem

 

Solving Process

i와 j라는 two pointers를 만든 후, (i는 최소값, j는 최댓값을 구분하기 위함이다)

i = 0, j = 1

루프를 돌며 j - i 값의 차이를 구한 후,

해당 값이 max 인지를 검사한다.

또한 i 의 값이 j보다 큰 경우는 ( = 진행 하다 최소값이 나온 경우)

i의 포인터를 j로 바꿔준다.

j가 prices를 다 돌면 루프를 종료하고 max값을 리턴한다.

 

Solution

class Solution:
    def maxProfit(self, prices: List[int]) -> int:
        i = 0
        j = 1
        length = len(prices)
        max_price = 0
        while j < length:
            diff = prices[j] - prices[i]
            if diff > max_price:
                max_price = diff
            elif prices[i] > prices[j]:
                    i = j
            j+=1

        return max_price
반응형

'알고리즘' 카테고리의 다른 글

[Python] HackerRank - Max Min  (0) 2023.05.19
[Python] LeetCode - Linked List Cycle 2  (1) 2023.05.19
[Python] HackerRank - Anagram  (1) 2023.05.19
[Python] LeetCode - Middle of the Linked List  (0) 2023.05.17
[Python] HackerRank - Caesar Cipher  (0) 2023.05.17
Comments