付費限定

模擬:有交易成本的最佳股票買賣 Best Time to Buy&Sell Stock_Leetcode714 精選75

閱讀時間約 5 分鐘

題目敘述

題目會給我們一個陣列prices,裡面的數值代表每一個交易日的股票股價。

每次買入股票時會有一個額外附帶的交易成本fee

題目讓我們做多,而且不限制交易次數。

題目禁止持有多重部位,也就是說,必須是買賣輪流交替的形式。

比如說 買,買,買, 賣,賣,賣這種方式是不被允許的。


請問最終的最大獲利是多少?


題目的原文敘述


測試範例

Example 1:

Input: prices = [1,3,2,8,4,9], fee = 2
Output: 8
Explanation: The maximum profit can be achieved by:
- Buying at prices[0] = 1
- Selling at prices[3] = 8
- Buying at prices[4] = 4
- Selling at prices[5] = 9
The total profit is ((8 - 1) - 2) + ((9 - 4) - 2) = 8.

Example 2:

Input: prices = [1,3,7,5,10,3], fee = 3
Output: 6

約束條件

Constraints:

  • 1 <= prices.length <= 5 * 10^4

股票價格陣列長度介於1~五萬。

  • 1 <= prices[i] < 5 * 10^4

每天的股票價格介於1~五萬。

  • 0 <= fee < 5 * 10^4

交易成本費用介於0~五萬。


這題剛好以前錄過教學影片,提供給讀者作為參考。


演算法

以行動支持創作者!付費即可解鎖
本篇內容共 2303 字、1 則留言,僅發佈於Leetcode精選75題 解析+統整你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
avatar-img
90會員
425內容數
由有業界實戰經驗的演算法工程師, 手把手教你建立解題的框架, 一步步寫出高效、清晰易懂的解題答案。 著重在讓讀者啟發思考、理解演算法,熟悉常見的演算法模板。 深入淺出地介紹題目背後所使用的演算法意義,融會貫通演算法與資料結構的應用。 在幾個經典的題目融入一道題目的多種解法,或者同一招解不同的題目,擴展廣度,並加深印象。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
題目敘述 題目會給我們泰伯納西數列的一般項和初始條件,要求我們實現找出第n項的function。 def tribonacci(self, n: int): 泰伯納西數列的一般項: Tn+3 = Tn + Tn+1 + Tn+2 for n >= 0. 泰伯納西數列的初始條件: T0 = 0,
題目敘述 題目會給定我們一個n值,要求我們列出從0 ~ n 之間,每個整數有幾個bit1,以陣列的形式返回答案。 例如n=3時 因為 0 = 0b 0 1 = 0b 1 2 = 0b 10 3 = 0b 11 輸出答案為[0, 1, 1, 2] 題目的原文敘述 測試範例 E
題目敘述 給定一個正整數n,請找出最少用幾個完全平方數,可以讓他們的總和為n? 例如 n=12,最少用3個完全平方數就可讓他們的總和為n,因為12 = 4 + 4 + 4 題目的原文敘述 測試範例 Example 1: Input: n = 12 Output: 3 Explanat
題目敘述 題目會給我們一個輸入陣列nums,和一個指定的k值。 請問,在輸入陣列nums中,有幾個子陣列的元素總合恰好為k ? 例如: nums = [1,2,3], k = 3 則有兩個子陣列的元素總合為3,分別是[1,2] 和 [3] 如果是第一次聽到或接觸前綴和prefix的同學
題目敘述 題目會給定我們一個字串s,和一組字庫wordDict。 問我們能不能透過字串串接的方式,從字庫裡面的字拼成原本的字串s? 可以的話,返回True。 無解的話,返回False。 註: 題目還允許重複使用字庫裡面的字去串接。
題目敘述 題目會給定一個指定高度和寬的方格版,還有一顆小球的起始位置,和最大移動步數。 小球每一步可以選擇向上、下、左、右移動一格,請問小球能走到方格版界外的路徑方法數總共有幾種? 方法數可能很大,題目要求,最後回傳答案時,先對10^9+7做除法取餘數再回傳。 題目的原文敘述 約束條件
題目敘述 題目會給我們泰伯納西數列的一般項和初始條件,要求我們實現找出第n項的function。 def tribonacci(self, n: int): 泰伯納西數列的一般項: Tn+3 = Tn + Tn+1 + Tn+2 for n >= 0. 泰伯納西數列的初始條件: T0 = 0,
題目敘述 題目會給定我們一個n值,要求我們列出從0 ~ n 之間,每個整數有幾個bit1,以陣列的形式返回答案。 例如n=3時 因為 0 = 0b 0 1 = 0b 1 2 = 0b 10 3 = 0b 11 輸出答案為[0, 1, 1, 2] 題目的原文敘述 測試範例 E
題目敘述 給定一個正整數n,請找出最少用幾個完全平方數,可以讓他們的總和為n? 例如 n=12,最少用3個完全平方數就可讓他們的總和為n,因為12 = 4 + 4 + 4 題目的原文敘述 測試範例 Example 1: Input: n = 12 Output: 3 Explanat
題目敘述 題目會給我們一個輸入陣列nums,和一個指定的k值。 請問,在輸入陣列nums中,有幾個子陣列的元素總合恰好為k ? 例如: nums = [1,2,3], k = 3 則有兩個子陣列的元素總合為3,分別是[1,2] 和 [3] 如果是第一次聽到或接觸前綴和prefix的同學
題目敘述 題目會給定我們一個字串s,和一組字庫wordDict。 問我們能不能透過字串串接的方式,從字庫裡面的字拼成原本的字串s? 可以的話,返回True。 無解的話,返回False。 註: 題目還允許重複使用字庫裡面的字去串接。
題目敘述 題目會給定一個指定高度和寬的方格版,還有一顆小球的起始位置,和最大移動步數。 小球每一步可以選擇向上、下、左、右移動一格,請問小球能走到方格版界外的路徑方法數總共有幾種? 方法數可能很大,題目要求,最後回傳答案時,先對10^9+7做除法取餘數再回傳。 題目的原文敘述 約束條件
你可能也想看
Google News 追蹤
Thumbnail
     人生總是需要面對許多的選擇,每個選擇的結果未必是最好的,但還是要做選擇才行。在股市趨勢往上,來到相對高點的時候需要寫文章,是為了找到更好的投資標的;在股市趨勢向下,來到相對低點的時候需要寫文章,是為了撿拾那被錯殺的好股票,無論如何,文章都是要寫的。大家都明白,買入是要在相對低點,賣出是
Thumbnail
分批入場、選擇高殖利率且公司優良的股票,在急跌時入場,降低風險。
Thumbnail
歡迎加入學習選擇權交易行列,請參考以下網址,加入後便可以得知完整交易策略(未來還會持續優化策略) https://vocus.cc/optioncreatemoney/introduce 今天的盤勢非常不好賺,因為開盤三小時內都在狹幅區間內盤整,所以我改成使用下週才結算的選擇權做當沖交易。今天的
Thumbnail
股市基本原則是人多的地方不要去,太熱門標的價格總是太貴,股價不是不會跌,只是時間未到,原因可能是投資大眾需要更長的時間才能對負面的消息做反應,在市場熱絡時期輕忽風險,未能察覺不利的因素
Thumbnail
本文分享了提高股票交易勝率的幾個方法,包括正確的購入時機和適當的觀察週期。
Thumbnail
買賣股票一直都是一門高深的學問,何時買才是好時機?何時賣才是好時機? 上面這個問題, 10個人有10個答案, 100個人有100個答案,有的人答案是自己找出來的,有的人的答案是參考別人的,在寫出自己的,有的人的答案是抄別人的,但怎樣的答案才是對或錯呢?   說真的,我到現在
Thumbnail
在高股息ETF的投資中,重要的是要找到適合的買入時間和賣出時間。一般來說,計算股價和股利的比值可以判斷是否適合買入,而在賣出時,可以以總股利收益作為參考。股票投資的關鍵在於持續的買入和加碼,以及在合適的時間出場,以最大化收益。
Thumbnail
前言 在股票市場中,選擇何時進場往往是獲取成功的關鍵。本系列文透過數據統計的方式,從月、周、日三個維度探索最佳的買進時機。讓我們一同深入瞭解,如何在市場的波動中精確制定買進策略,以獲得更為優異的投資回報。 實驗方式 這一篇會先聚焦在月週期上,分別統計每個月1號~31號所有股票的5日
Thumbnail
     人生總是需要面對許多的選擇,每個選擇的結果未必是最好的,但還是要做選擇才行。在股市趨勢往上,來到相對高點的時候需要寫文章,是為了找到更好的投資標的;在股市趨勢向下,來到相對低點的時候需要寫文章,是為了撿拾那被錯殺的好股票,無論如何,文章都是要寫的。大家都明白,買入是要在相對低點,賣出是
Thumbnail
分批入場、選擇高殖利率且公司優良的股票,在急跌時入場,降低風險。
Thumbnail
歡迎加入學習選擇權交易行列,請參考以下網址,加入後便可以得知完整交易策略(未來還會持續優化策略) https://vocus.cc/optioncreatemoney/introduce 今天的盤勢非常不好賺,因為開盤三小時內都在狹幅區間內盤整,所以我改成使用下週才結算的選擇權做當沖交易。今天的
Thumbnail
股市基本原則是人多的地方不要去,太熱門標的價格總是太貴,股價不是不會跌,只是時間未到,原因可能是投資大眾需要更長的時間才能對負面的消息做反應,在市場熱絡時期輕忽風險,未能察覺不利的因素
Thumbnail
本文分享了提高股票交易勝率的幾個方法,包括正確的購入時機和適當的觀察週期。
Thumbnail
買賣股票一直都是一門高深的學問,何時買才是好時機?何時賣才是好時機? 上面這個問題, 10個人有10個答案, 100個人有100個答案,有的人答案是自己找出來的,有的人的答案是參考別人的,在寫出自己的,有的人的答案是抄別人的,但怎樣的答案才是對或錯呢?   說真的,我到現在
Thumbnail
在高股息ETF的投資中,重要的是要找到適合的買入時間和賣出時間。一般來說,計算股價和股利的比值可以判斷是否適合買入,而在賣出時,可以以總股利收益作為參考。股票投資的關鍵在於持續的買入和加碼,以及在合適的時間出場,以最大化收益。
Thumbnail
前言 在股票市場中,選擇何時進場往往是獲取成功的關鍵。本系列文透過數據統計的方式,從月、周、日三個維度探索最佳的買進時機。讓我們一同深入瞭解,如何在市場的波動中精確制定買進策略,以獲得更為優異的投資回報。 實驗方式 這一篇會先聚焦在月週期上,分別統計每個月1號~31號所有股票的5日