91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Lintcode42 Maximum Subarray II solution 題解

發布時間:2020-07-05 18:52:14 來源:網絡 閱讀:500 作者:abcdd1234567890 欄目:開發技術

【題目描述】

Given an array of integers, find two non-overlapping subarrays which have the largest sum.The number in each subarray should be contiguous.Return the largest sum.

Notice:The subarray should contain at least one number

給定一個整數數組,找出兩個 不重疊 子數組使得它們的和最大。每個子數組的數字在數組中的位置應該是連續的。返回最大的和。

注意:子數組最少包含一個數

【題目鏈接】

http://www.lintcode.com/en/problem/maximum-subarray-ii/

【題目解析】

嚴格來講這道題這道題也可以不用動規來做,這里還是采用經典的動規解法。Maximum Subarray 中要求的是數組中最大子數組和,這里是求不相重疊的兩個子數組和的和最大值,做過買賣股票系列的題的話這道題就非常容易了,既然我們已經求出了單一子數組的最大和,那么我們使用隔板法將數組一分為二,分別求這兩段的最大子數組和,求相加后的最大值即為最終結果。隔板前半部分的最大子數組和很容易求得,但是后半部分難道需要將索引從0開始依次計算嗎?NO!!! 我們可以采用從后往前的方式進行遍歷,這樣時間復雜度就大大降低了。

源碼分析:前向搜索和逆向搜索我們使用私有方法實現,可讀性更高。注意是求非重疊子數組和,故求maxTwoSub時i 的范圍為0, size - 2, 前向數組索引為 i, 后向索引為 i + 1.

復雜度分析:前向和后向搜索求得最大子數組和,時間復雜度 O(2n)=O(n)O(2n)=O(n)O(2n)=O(n), 空間復雜度 O(n)O(n)O(n). 遍歷子數組和的數組求最終兩個子數組和的最大值,時間復雜度 O(n)O(n)O(n). 故總的時間復雜度為 O(n)O(n)O(n), 空間復雜度 O(n)O(n)O(n).

【參考答案】

http://www.jiuzhang.com/solutions/maximum-subarray-ii/


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜章县| 莆田市| 壤塘县| 横峰县| 高安市| 姜堰市| 巴青县| 莲花县| 天全县| 昌江| 建湖县| 都匀市| 邯郸市| 肥东县| 武宣县| 绥德县| 合阳县| 宜兰市| 葵青区| 且末县| 申扎县| 红河县| 全州县| 固镇县| 木兰县| 依兰县| 巩留县| 民乐县| 保靖县| 河南省| 凤翔县| 四平市| 岑巩县| 嘉义县| 濮阳县| 泽普县| 来安县| 桂东县| 呈贡县| 云林县| 南投市|