【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的子数组
相关推荐
?!7148 分钟前
数据结构之哈夫曼树
c语言·数据结构·c++·算法
xiaoli232716 分钟前
机器学习朴素贝叶斯算法
人工智能·算法·机器学习
xin007hoyo19 分钟前
算法笔记.约数个数
数据结构·笔记·算法
yy鹈鹕灌顶23 分钟前
十大排序算法全面解析(Java实现)及优化策略
java·算法·排序算法
sunshineine24 分钟前
Linux系统安装PaddleDetection
linux·运维·服务器·人工智能·算法
n33(NK)26 分钟前
【算法基础】三指针排序算法 - JAVA
java·算法·排序算法
.格子衫.1 小时前
014枚举之指针尺取——算法备赛
java·c++·算法
明月看潮生1 小时前
青少年编程与数学 02-018 C++数据结构与算法 24课题、密码学算法
c++·算法·青少年编程·密码学·编程与数学
小小白?2 小时前
64.搜索二维矩阵
数据结构·线性代数·算法·矩阵
小羊在奋斗2 小时前
【LeetCode 热题 100】矩阵置零 / 螺旋矩阵 / 旋转图像 / 搜索二维矩阵 II
算法·leetcode·矩阵