力扣hot100:最大子数组和

题目描述:

思路分析:

运用动态规划的思想,设动态规划列表 dp ,dpi 代表以元素 numsi 为结尾的连续子数组最大和。从第二个元素开始遍历原数组,如果dpi-1是大于0的,就说明当前元素加上之前的最大字数组和会更大,故dpi=dpi-1+numsi,如果dpi-1是小与0的,说明此时以numsi结尾的最大字数组为dpi=numsi,最后遍历dp数组就会的解。

代码:

java 复制代码
class Solution {
    public int maxSubArray(int[] nums) {
        int n=nums.length;
        int dp[] =new int[n];
        dp[0]=nums[0];
        for(int i=1;i<n;i++){
            if(dp[i-1]>0){
                dp[i]=dp[i-1]+nums[i];
            }else{
                dp[i]=nums[i];
            }
        }
        int ans=-10000;
        for(int i=0;i<n;i++){
            ans=Math.max(dp[i],ans);
        }
        return ans;
    }
}
相关推荐
Keven_117 小时前
算法札记:树状数组的用途
数据结构·算法
用户677437175818 小时前
C++函数参数传递方式详解:string、string&、const string、const string&该怎么选?
算法
cpp_25018 小时前
P1540 [NOIP 2010 提高组] 机器翻译
数据结构·c++·算法·队列·noip·洛谷题解
晚笙coding8 小时前
LeetCode 98:验证二叉搜索树 —— 从局部判断到全局范围约束的递归思想
算法·leetcode·职场和发展
学计算机的计算基8 小时前
回溯算法下篇:四道经典题讲透约束剪枝、原地标记、预计算与状态压缩
java·笔记·算法
霸道流氓气质9 小时前
SpringBoot中实现告警判定算法-位报警与模拟量阈值-技术详解
spring boot·算法·jquery
行者全栈架构师9 小时前
混元 Hy3 Agent 实战:季度报告 3 小时变 40 分钟
算法·架构·代码规范
兰令水9 小时前
hot100【acm版】【2026.7.21打卡-java版本】
java·开发语言·算法·leetcode·面试
好好沉淀10 小时前
主键选择(自增 vs UUID vs 雪花算法)
java·算法
星恒随风10 小时前
C++ STL 详解:list 的使用、迭代器失效、模拟实现与 vector 对比
开发语言·数据结构·c++·笔记·学习·list