求解最大子序列和

更新於 發佈於 閱讀時間約 2 分鐘
問題如下,在這串連續數列中 : -7、8、2、9、3、-4、-8、7、9、-5,請找出最大的子序列之和、以及最小的子序列之和,求最大子序列和 ~ MaxSubSum,是用途很廣的敘述統計工具,例如應用於求解 MDD、描述價格資料期間內最大的累積上漲點數...等
Kadane's 提供的算法邏輯如下 :
1. 該元素如果是負值,就不是子序列起點;
2. 同理,子序和為負值亦不列入集合內
僅需兩個判斷條件,即可建構程式碼求解
Excel VBA程式碼提供如下
Public Function MaxSubArraySum(ByVal InputData As Range, ByVal Output As Variant) As Variant
'Output=1 求解最大子序列和
'Output=-1 求解最小子序列和
Dim ArrDataX() As Variant
Dim DataCount As Variant
Dim ii As Variant
Dim thisSum As Variant
Dim MaxSum As Variant
ArrDataX = InputData '抓取Excel 欄位的數據,存入VBA控制的陣列
DataCount = InputData.Count '記錄抓取的資料筆數
thisSum = 0
MaxSum = 0
For ii = 1 To DataCount
thisSum = thisSum + (Output) * ArrDataX(ii, 1)
If thisSum > MaxSum Then MaxSum = thisSum
If thisSum < 0 Then thisSum = 0
Next 'For ii = 1 To DataCount
MaxSubArraySum = (Output) * MaxSum '求解最大子序列和
End Function
為什麼會看到廣告
avatar-img
21會員
113內容數
留言
avatar-img
留言分享你的想法!
Piemann的沙龍 的其他內容
率變動的範圍。一般金融價格的時間序列通常有五個特色:趨勢(trend)、季節性、 異常價格、價格叢聚(cluster)以及非線性(nonlinear)。所謂「非線性」是指金融價 格具有以下情形:(1.)異常報酬出現的機率大於預期,顯示報酬率為常態分配的 比正的造成較大的波動。
承繼上一篇的數值加工想法,這次介紹取對數的效果
這次來談指標數值的二次加工,數值二次加工的方式很多,例如對K棒取平均後,還會想要再取一次平均值,讓數值更為平滑;或是對數據取log、開根號,讓極端值的影響力減少,不同的目的會有相應的轉換函數可供使用 參考下圖數據,明顯的這個轉換函數會讓RSI的數值更為趨向100與0的極值靠攏
Excel VBA 簡單的網頁爬蟲
波動度壓縮後,等待突破訊號,是提高勝算的好構想, 以下是內困型態發生後的突破策略程式碼
拋物線SAR(Stop and Reverse),好用的出場概念,但是常常被搞錯認為是進場的邏輯,廢話不多說,請參考程式碼的出場部分
率變動的範圍。一般金融價格的時間序列通常有五個特色:趨勢(trend)、季節性、 異常價格、價格叢聚(cluster)以及非線性(nonlinear)。所謂「非線性」是指金融價 格具有以下情形:(1.)異常報酬出現的機率大於預期,顯示報酬率為常態分配的 比正的造成較大的波動。
承繼上一篇的數值加工想法,這次介紹取對數的效果
這次來談指標數值的二次加工,數值二次加工的方式很多,例如對K棒取平均後,還會想要再取一次平均值,讓數值更為平滑;或是對數據取log、開根號,讓極端值的影響力減少,不同的目的會有相應的轉換函數可供使用 參考下圖數據,明顯的這個轉換函數會讓RSI的數值更為趨向100與0的極值靠攏
Excel VBA 簡單的網頁爬蟲
波動度壓縮後,等待突破訊號,是提高勝算的好構想, 以下是內困型態發生後的突破策略程式碼
拋物線SAR(Stop and Reverse),好用的出場概念,但是常常被搞錯認為是進場的邏輯,廢話不多說,請參考程式碼的出場部分
你可能也想看
Google News 追蹤
Thumbnail
該來的終究還是來了 度過焦躁不安的一整周,學徒老人家我的不安感等比級數的襲來,自3/19寫了第一篇關於<巴克萊銀行:倉促撤退>的報告,看到市場上的機構法人有如大洪水、地震來臨前夕開始竄逃撤退。 海湖莊園協議 接著,在3/31與4/2兩天接著寫了川普與他的財經團隊在海湖莊園豪
Thumbnail
空單爆天量、技術指標超賣、情緒恐慌到極致:美股嘎空行情有機會啟動嗎? 重點摘要: 技術面極度超賣,反彈條件醞釀中,但尚未明確止穩 SPY 與 QQQ 的重要指標,如MACD、KDJ、RSI等指標進入極端超賣區,但尚未出現底部鈍化或明確反轉訊號,技術面仍屬空方主導。 連續出現跳空缺口,空方動
Thumbnail
全新 vocus 挑戰活動「方格人氣王」來啦~四大挑戰任你選,留言 / 愛心 / 瀏覽數大 PK,還有新手專屬挑戰!無論你是 vocus 上活躍創作者或剛加入的新手,都有機會被更多人看見,獲得站上版位曝光&豐富獎勵!🏆
Thumbnail
當我們需要快速掌握 PDF 檔案中的內容,瞭解內容大綱,或需要即時查詢特定內容出現在哪個頁面時,本文分享的 3 大 AI 工具就能夠派上用場,成為高效工作與學習的重要助手!
這篇文章探討了將軍與我之間的一段幽默對話,關於睡覺時手指緊扣的原因。文章中提到的滿清十大酷刑及阿卡沙圖書館,增添了趣味與思考,挑戰讀者對於睡姿和身體互動的理解。這段對話不僅引發了笑聲,還引導我們思考在特定情境下的行為模式和心理狀態。
Thumbnail
2419. Longest Subarray With Maximum Bitwise AND 給定一個輸入陣列nums,請找出擁有最大bitwise AND值的子陣列長度是多少?
Thumbnail
Continuous Subarray Sum 給定一個整數陣列,請問是否存在一段區間和能夠整除k的連續區間,而且區間長度≥2? 如果存在,返回True。 無果無解,返回False。 例如[2,5,3,1,8,6], k = 6, 其中[3,1,8]是區間和能夠整除6的連續區間,而且區間長度≥2
Thumbnail
給定一個輸入陣列,計算最長遞增子序列的總數。本題和Longest Common Subsequence相似,需要設定一個計數器,記錄最長遞增子序列的數量。透過DP模型的化簡方式來解決問題。時間複雜度為O(n^2),空間複雜度為O(n)。主要使用回頭看的技巧,找出比較小的元素去延伸遞增子序列的長度。
Thumbnail
本文章討論如何使用動態規劃和回頭查看技巧來計算最長遞增子序列的長度,並提供了相關的測試案例和範例。本文還包括了詳細的演算法和程式碼示例,以及時間和空間複雜度的分析。
Thumbnail
本文介紹瞭如何使用 Excel VBA 解決規劃求解問題的實際案例,並展示了「回溯算法」(Backtracking) 的應用。通過此案例,專業人士可以更好地理解並利用數據,進而在商業環境中做出更精確的決策。
Thumbnail
【希望新生‧ 四季法語】 ​​佛陀說,所有痛苦的因都在我們心中。 所以必須把內心深處的問題解決之後 痛苦才不會再發生。 引自《希望‧新生》四季法語│福智文化                      —真如老師                                
Thumbnail
該來的終究還是來了 度過焦躁不安的一整周,學徒老人家我的不安感等比級數的襲來,自3/19寫了第一篇關於<巴克萊銀行:倉促撤退>的報告,看到市場上的機構法人有如大洪水、地震來臨前夕開始竄逃撤退。 海湖莊園協議 接著,在3/31與4/2兩天接著寫了川普與他的財經團隊在海湖莊園豪
Thumbnail
空單爆天量、技術指標超賣、情緒恐慌到極致:美股嘎空行情有機會啟動嗎? 重點摘要: 技術面極度超賣,反彈條件醞釀中,但尚未明確止穩 SPY 與 QQQ 的重要指標,如MACD、KDJ、RSI等指標進入極端超賣區,但尚未出現底部鈍化或明確反轉訊號,技術面仍屬空方主導。 連續出現跳空缺口,空方動
Thumbnail
全新 vocus 挑戰活動「方格人氣王」來啦~四大挑戰任你選,留言 / 愛心 / 瀏覽數大 PK,還有新手專屬挑戰!無論你是 vocus 上活躍創作者或剛加入的新手,都有機會被更多人看見,獲得站上版位曝光&豐富獎勵!🏆
Thumbnail
當我們需要快速掌握 PDF 檔案中的內容,瞭解內容大綱,或需要即時查詢特定內容出現在哪個頁面時,本文分享的 3 大 AI 工具就能夠派上用場,成為高效工作與學習的重要助手!
這篇文章探討了將軍與我之間的一段幽默對話,關於睡覺時手指緊扣的原因。文章中提到的滿清十大酷刑及阿卡沙圖書館,增添了趣味與思考,挑戰讀者對於睡姿和身體互動的理解。這段對話不僅引發了笑聲,還引導我們思考在特定情境下的行為模式和心理狀態。
Thumbnail
2419. Longest Subarray With Maximum Bitwise AND 給定一個輸入陣列nums,請找出擁有最大bitwise AND值的子陣列長度是多少?
Thumbnail
Continuous Subarray Sum 給定一個整數陣列,請問是否存在一段區間和能夠整除k的連續區間,而且區間長度≥2? 如果存在,返回True。 無果無解,返回False。 例如[2,5,3,1,8,6], k = 6, 其中[3,1,8]是區間和能夠整除6的連續區間,而且區間長度≥2
Thumbnail
給定一個輸入陣列,計算最長遞增子序列的總數。本題和Longest Common Subsequence相似,需要設定一個計數器,記錄最長遞增子序列的數量。透過DP模型的化簡方式來解決問題。時間複雜度為O(n^2),空間複雜度為O(n)。主要使用回頭看的技巧,找出比較小的元素去延伸遞增子序列的長度。
Thumbnail
本文章討論如何使用動態規劃和回頭查看技巧來計算最長遞增子序列的長度,並提供了相關的測試案例和範例。本文還包括了詳細的演算法和程式碼示例,以及時間和空間複雜度的分析。
Thumbnail
本文介紹瞭如何使用 Excel VBA 解決規劃求解問題的實際案例,並展示了「回溯算法」(Backtracking) 的應用。通過此案例,專業人士可以更好地理解並利用數據,進而在商業環境中做出更精確的決策。
Thumbnail
【希望新生‧ 四季法語】 ​​佛陀說,所有痛苦的因都在我們心中。 所以必須把內心深處的問題解決之後 痛苦才不會再發生。 引自《希望‧新生》四季法語│福智文化                      —真如老師