Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- ubuntu
- gs25
- ChatGPT
- 맥북
- AI 경진대회
- dacon
- 우분투
- github
- 파이썬
- Baekjoon
- 편스토랑 우승상품
- 편스토랑
- 캐치카페
- SW Expert Academy
- leetcode
- 더현대서울 맛집
- Git
- 백준
- programmers
- PYTHON
- 프로그래머스
- 금융문자분석경진대회
- Docker
- hackerrank
- Kaggle
- 자연어처리
- Real or Not? NLP with Disaster Tweets
- 프로그래머스 파이썬
- 데이콘
- 코로나19
Archives
- Today
- Total
솜씨좋은장씨
[leetCode] 121. Best Time to Buy and Sell Stock (Python) 본문
Programming/코딩 1일 1문제
[leetCode] 121. Best Time to Buy and Sell Stock (Python)
솜씨좋은장씨 2020. 8. 13. 23:20728x90
반응형
Say you have an array for which the ith element is the price of a given stock on day i.
If you were only permitted to complete at most one transaction (i.e., buy one and sell one share of the stock), design an algorithm to find the maximum profit.
Note that you cannot sell a stock before you buy one.
Example 1:
Input: [7,1,5,3,6,4]
Output: 5
Explanation: Buy on day 2 (price = 1) and sell on day 5 (price = 6), profit = 6-1 = 5.
Not 7-1 = 6, as selling price needs to be larger than buying price.
Example 2:
Input: [7,6,4,3,1]
Output: 0
Explanation: In this case, no transaction is done, i.e. max profit = 0.
Solution
import heapq
class Solution:
def maxProfit(self, prices: List[int]) -> int:
if len(prices) < 2:
return 0
my_heapq = []
profit = 0
for price in prices:
heapq.heappush(my_heapq, price)
if price - my_heapq[0] > profit:
profit = price - my_heapq[0]
return profit
'Programming > 코딩 1일 1문제' 카테고리의 다른 글
[leetCode] 665. Non-decreasing Array (Python) (0) | 2020.08.13 |
---|---|
[leetCode] 344. Reverse String (Python) (0) | 2020.08.13 |
[leetCode] 392. Is Subsequence (Python) (0) | 2020.08.13 |
[leetCode] 916. Word Subsets (Python) (0) | 2020.08.09 |
[leetCode] 551. Student Attendance Record I (Python) (0) | 2020.08.08 |
Comments