当前位置: 首页 > news >正文

Leetcode 53 最大子数组和

题意理解:

        给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

        子数组 是数组中的一个连续部分。

        所以每个元素都有两个状态,是前一部分的延续,或从此处重新开始计算。

        我们采用动态规划思路来解题。

解题思路:

        (1)定义dp数组

        dp[i]表示0到i的累加的最大和

        (2)初始化

        dp[0]=nums[0]

        其余位置不重要会被之后的操作覆盖

        (3)递推公式

        dp[i]=max(dp[i-1]+nums[i],nums[i])

         (4) 答案:max(dp)

1.解题

 public int maxSubArray(int[] nums) {int[] dp=new int[nums.length];dp[0]=nums[0];int max=nums[0];for(int i=1;i<nums.length;i++){dp[i]=Math.max(dp[i-1]+nums[i],nums[i]);max=Math.max(max,dp[i]);}return max;}

2.分析

时间复杂度:O(n)

空间复杂度:O(n)

http://www.lryc.cn/news/299768.html

相关文章:

  • 【pandas 不同文件读取和存储】
  • python从入门到精通(十六):python爬虫的BeautifulSoup4
  • Codeforces Round 924(Div.2) A~E
  • django中实现观察者模式
  • Elasticsearch中的动态DSL解决方案
  • 【操作系统】MacOS虚拟内存统计指标
  • LeetCode:67.二进制求和
  • 修改GI文件的权限
  • OJ刷题:杨氏矩阵【建议收藏】
  • 2024-02-13 Unity 编辑器开发之编辑器拓展4 —— EditorGUIUtility
  • redis加锁实现方式
  • ClickHouse--08--SQL DDL 操作
  • 5种风格非常经典的免费wordpress主题
  • 「数据结构」哈希表2:实现哈希表
  • ITK 图像分割(一):阈值ThresholdImageFilter
  • 2023.2.6
  • 例39:使用List控件
  • 浏览器内核的主要功能模块介绍
  • 如何流畅进入Github
  • docker磁盘不足!已解决~
  • 法国实习面试——计算机相关专业词汇
  • LeetCode刷题计划
  • 2023全球云计算市场份额排名
  • Oracle数据库
  • Spring Cloud Hystrix 参数配置、简单使用、DashBoard
  • 阿里云服务器4核16G配置报价和CPU内存性能参数表
  • 数据结构:图文详解 队列 | 循环队列 的各种操作(出队,入队,获取队列元素,判断队列状态)
  • Debezium发布历史130
  • 【笔记】Harmony学习:下载安装 DevEco Studio 开发工具IDE
  • Electron实战之入门