[LeetCode] 121. Best Time to Buy and Sell Stock

yunanยท2021๋…„ 1์›” 27์ผ
0
post-thumbnail

๐Ÿ”ฆ ๋ฌธ์ œ ๋งํฌ

๐Ÿ”Š ํŒŒ์ด์ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ธํ„ฐ๋ทฐ ์ฑ…์„ ์ฐธ๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฌธ์ œ

ํ•œ๋ฒˆ์˜ ๊ฑฐ๋ž˜๋กœ ๊ฐ€์žฅ ํฐ ์ด์ต์„ ๋‚ด๋Š” ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜์„ธ์š”.

โœ๏ธ ํ’€์ด


  1. ๋ธŒ๋ฃจํŠธํฌ์Šค ํ’€์ด -> O(n^2) ์‚ฌ๊ณ  ํŒŒ๋Š” ๋ชจ๋“  ์ง€์ ์„ ๋น„๊ตํ•ด์„œ ๋‹ต์„ ๋‚ธ๋‹ค.
  2. ํ˜„์žฌ๊นŒ์ง€์˜ ์ €์ ๊ฐ’๊ณผ ํ˜„์žฌ๊ฐ’์‚ฌ์ด์˜ ์ฐจ๋ฅผ ์ด์šฉํ•œ ๋ฐฉ๋ฒ• O(n)

๐Ÿ›  ์ฝ”๋“œ


class Solution:
    def maxProfit(self, prices: List[int]) -> int:
        min_price = sys.maxsize
        profit = 0
        for price in prices:
            min_price = min(price, min_price)
            profit = max(profit, price - min_price)
        return profit

๐Ÿ“ ์ •๋ฆฌ


๐ŸŽˆ ์ฐธ๊ณ 


Book ๋งํฌ

profile
Go Go

0๊ฐœ์˜ ๋Œ“๊ธ€