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
- programmers
- Baekjoon
- PYTHON
- github
- AI 경진대회
- ChatGPT
- Git
- 캐치카페
- 백준
- Kaggle
- 금융문자분석경진대회
- 편스토랑
- 편스토랑 우승상품
- dacon
- 데이콘
- 파이썬
- SW Expert Academy
- ubuntu
- 자연어처리
- 맥북
- 프로그래머스 파이썬
- Real or Not? NLP with Disaster Tweets
- 프로그래머스
- hackerrank
- Docker
- gs25
- 코로나19
- leetcode
- 더현대서울 맛집
- 우분투
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