From 9ec8ab41d9e12261f366088e28c10cbdec4f35b9 Mon Sep 17 00:00:00 2001 From: carry <2641257231@qq.com> Date: Sun, 23 Mar 2025 14:22:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=9C=80=E5=A4=A7=E5=AD=90?= =?UTF-8?q?=E6=95=B0=E7=BB=84=E5=92=8C=EF=BC=88=E5=8A=A8=E6=80=81=E8=A7=84?= =?UTF-8?q?=E5=88=92=E6=90=9C=E7=B4=A0=EF=BC=8C=E7=AD=94=E6=A1=88=E6=AD=A3?= =?UTF-8?q?=E7=A1=AE=EF=BC=8Cleetcode=E8=B6=85=E5=86=85=E5=AD=98=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- maxSubArray.cpp | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 maxSubArray.cpp diff --git a/maxSubArray.cpp b/maxSubArray.cpp new file mode 100644 index 0000000..87ba77d --- /dev/null +++ b/maxSubArray.cpp @@ -0,0 +1,35 @@ +#include +#include +#include + +using namespace std; + +class Solution { +public: + int maxSubArray(vector& nums) { + if(nums.size()==1){ + return nums[0]; + } + else{ + int max_num = *max_element(nums.begin(),nums.end()); + vector> dp; + dp.push_back(nums); + for(int i = 1;i < nums.size();i++){ + dp.push_back(vector(dp[0].size()-1)); + for(int j = 0;j < nums.size() - i;j++){ + dp[1][j] = dp[0][j] + nums[j + i]; + max_num = max(max_num,dp[1][j]); + } + dp.erase(dp.begin()); + } + return max_num; + } + } +}; + +int main(){ + Solution mysolution; + vector array = {-2,1,-3,4,-1,2,1,-5,4}; + cout << mysolution.maxSubArray(array); + return 0; +}