求解最大子序列和

更新於 發佈於 閱讀時間約 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會員
112內容數
留言0
查看全部
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
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
塑膠污染成全球環境危機,五大主因為小包裝、快時尚、塑膠飲料瓶、利樂包與濕紙巾,影響生態及健康。釜山會議探討全球應對,政策、技術與消費教育成關鍵,推動可持續發展,減少塑膠危害。
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
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
塑膠污染成全球環境危機,五大主因為小包裝、快時尚、塑膠飲料瓶、利樂包與濕紙巾,影響生態及健康。釜山會議探討全球應對,政策、技術與消費教育成關鍵,推動可持續發展,減少塑膠危害。
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
【希望新生‧ 四季法語】 ​​佛陀說,所有痛苦的因都在我們心中。 所以必須把內心深處的問題解決之後 痛苦才不會再發生。 引自《希望‧新生》四季法語│福智文化                      —真如老師