Skip to content

Commit

Permalink
best-time-to-buy-and-sell-stock
Browse files Browse the repository at this point in the history
  • Loading branch information
taewanseoul committed Jan 6, 2025
1 parent d2bc9df commit 5c904cf
Showing 1 changed file with 29 additions and 0 deletions.
29 changes: 29 additions & 0 deletions best-time-to-buy-and-sell-stock/taewanseoul.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/**
* 20. Valid Parentheses
* You are given an array prices where prices[i] is the price of a given stock on the ith day.
* You want to maximize your profit by choosing a single day to buy one stock and choosing a different day in the future to sell that stock.
* Return the maximum profit you can achieve from this transaction. If you cannot achieve any profit, return 0.
*
* https://leetcode.com/problems/best-time-to-buy-and-sell-stock/description/
*/

// O(n) time
// O(n) space
function maxProfit(prices: number[]): number {
let highestProfit = 0;
let left = 0;
let right = 1;

while (right < prices.length) {
if (prices[left] < prices[right]) {
let profit = prices[right] - prices[left];
highestProfit = Math.max(highestProfit, profit);
} else {
left = right;
}

right++;
}

return highestProfit;
}

0 comments on commit 5c904cf

Please sign in to comment.