日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

leetcode 53. 最大子序和 动态规划解法、贪心法以及二分法

發(fā)布時(shí)間:2023/12/1 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 leetcode 53. 最大子序和 动态规划解法、贪心法以及二分法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目

給定一個(gè)整數(shù)數(shù)組 nums ,找到一個(gè)具有最大和的連續(xù)子數(shù)組(子數(shù)組最少包含一個(gè)元素),返回其最大和。

示例:

輸入: [-2,1,-3,4,-1,2,1,-5,4]
輸出: 6
解釋: 連續(xù)子數(shù)組 [4,-1,2,1] 的和最大,為 6。

進(jìn)階:
如果你已經(jīng)實(shí)現(xiàn)復(fù)雜度為 O(n) 的解法,嘗試使用更為精妙的分治法求解。

動(dòng)態(tài)規(guī)劃解法

這個(gè)是之前的動(dòng)態(tài)規(guī)劃的解法:
LeetCode 53:最大子序和解題以及優(yōu)化思路

貪心法

局部最優(yōu):當(dāng)連續(xù)和為負(fù)數(shù)的時(shí)候時(shí)候放棄掉,將和sum清掉。從下一個(gè)元素重新計(jì)算連續(xù)和。
因?yàn)樨?fù)數(shù)加上下一個(gè)元素,連續(xù)和會(huì)越來越小

全局最優(yōu):選取最大的連續(xù)和
記錄每次的連續(xù)和并且與之前最大的連續(xù)和比較,取大的值保存
代碼:

class Solution { public:int maxSubArray(vector<int>& nums) {if(nums.empty()) return 0;int sum = 0;int result = INT_MIN;for(int i = 0;i<nums.size();i++){sum += nums[i];if(sum > result)result = sum;if(sum<=0) sum = 0;}return result;} };

二分法

看不懂。。。,感覺被碾壓。。
按照自己的情況,感覺這個(gè)思路是沒辦法想出來的,果斷放棄。
官方題解

總結(jié)

以上是生活随笔為你收集整理的leetcode 53. 最大子序和 动态规划解法、贪心法以及二分法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。