【leetcode hot 100 53】最大子数组和

解法一:(动态规划)我们用 f(i) 代表以第 i 个数结尾的「连续子数组的最大和」,那么很显然我们要求的答案就是:max{f(i)},f(i)=max{f(i−1)+nums[i],nums[i]}

java 复制代码
class Solution {
    public int maxSubArray(int[] nums) {
        int pre=0, max_sum=nums[0], left=0;
        while(left<nums.length){
            pre=Math.max(pre+nums[left],nums[left]);
            max_sum=Math.max(max_sum,pre);
            left++;
        }
        return max_sum;
    }
}

注意:

  • ‌动态规划通过将一个大问题分解为多个重叠的子问题,并存储子问题的解以避免重复计算,从而提高算法效率。其核心思想在于"分解问题、缓存中间结果,避免重复计算,从而高效求解复杂问题"‌
  • 类似【leetcode hot 100 560】和为K的子数组
相关推荐
寄存器漫游者3 分钟前
数据结构 二叉树核心概念与特性
数据结构·算法
m0_706653236 分钟前
跨语言调用C++接口
开发语言·c++·算法
皮皮哎哟8 分钟前
数据结构:从队列到二叉树基础解析
c语言·数据结构·算法·二叉树·队列
一匹电信狗17 分钟前
【高阶数据结构】并查集
c语言·数据结构·c++·算法·leetcode·排序算法·visual studio
愚者游世34 分钟前
list Initialization各版本异同
开发语言·c++·学习·程序人生·算法
.小墨迹36 分钟前
apollo中车辆的减速绕行,和加速超车实现
c++·学习·算法·ubuntu·机器学习
敲敲了个代码40 分钟前
从N倍人力到1次修改:Vite Plugin Modular 如何拯救多产品前端维护困境
前端·javascript·面试·职场和发展·typescript·vite
超级大只老咪40 分钟前
DFS算法(回溯搜索)
算法
MicroTech20251 小时前
量子仿真新基石:MLGO微算法科技专用地址生成器驱动量子算法仿真革命
科技·算法·量子计算
WBluuue1 小时前
数据机构与算法:dp优化——倍增优化
c++·算法·leetcode·动态规划