Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Leetcode - Easy] Best Time to Buy and Sell Stock #21

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

BangDori
Copy link
Contributor

@BangDori BangDori commented Dec 16, 2024

문제

Type Info
Time Complexity O(N)
Space Complexity O(1)
Algorithm 구현
Data Structure X

Constraints

  • 1 <= prices.length <= 10^5
  • 0 <= prices[i] <= 10^4

Edge Case

  • prices의 길이가 1인 경우 거래가 불가능하므로 최대 이익은 0입니다.
  • prices 배열 내부의 가격들이 항상 감소하는 경우, 거래를 시작할 수 있는 최적의 시점이 존재하지 않으므로 최대 이익은 0입니다.

풀이

최저의 가격에서 구매하고, 최대의 가격에서 판매

구매가 = Infinity
최대이익 = 0

for (prices 배열 내부) {
  if 구매가 > price
    구매가를 price로 변경한다.
  else
    그게 아니라면 현재 price에서 판매하여 이익을 계산한다.
    판매 이익이 최대 이익보다 크다면 최대 이익을 갱신한다.
}

return 최대이익

어려웠던 점

  • 없음

알게된 점

  • 없음

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant