当前位置: 代码迷 >> 综合 >> Leetcode 1186. 删除一次得到子数组最大和(DAY 50) ---- 动态规划学习期(第一题开始 今天把Attack Lab补了)
  详细解决方案

Leetcode 1186. 删除一次得到子数组最大和(DAY 50) ---- 动态规划学习期(第一题开始 今天把Attack Lab补了)

热度:18   发布时间:2023-11-17 20:05:30.0

原题题目

在这里插入图片描述



代码实现(首刷大部分看解小部分自解)

int maximumSum(int* arr, int arrSize){
    int dp[100001][2],i,ret;dp[0][0] = arr[0];dp[0][1] = INT_MIN;ret = fmax(dp[0][0],dp[0][1]);for(i=1;i<arrSize;i++){
    dp[i][0] = fmax(arr[i],dp[i-1][0]+arr[i]);dp[i][1] = fmax((dp[i-1][1] == INT_MIN ? 0 : dp[i-1][1]) + arr[i],dp[i-1][0]);ret = fmax(ret,fmax(dp[i][0],dp[i][1]));}return ret;
}