输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。

要求时间复杂度为O(n)。

示例1:

输入: nums = [-2,1,-3,4,-1,2,1,-5,4]
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。

提示:

1 <= arr.length <= 10^5
-100 <= arr[i] <= 100

代码(利用数组的规律):

class Solution {

public int maxSubArray(int[] nums) {

if(nums.length==0)

{

return 0;

}

int max = nums[0],sum = nums[0];

for(int i=1;i<nums.length;i++)

{

if(sum<0)

{

sum = 0;

}

sum = nums[i]+sum;

if(sum>max)

{

max = sum;

}

}

return max;

}

}

【剑指offer】面试题42:连续子数组的最大和(java)相关推荐

  1. 剑指offer面试题42. 连续子数组的最大和(动态规划)

    题目描述 输入一个整型数组,数组里有正数也有负数.数组中的一个或连续多个整数组成一个子数组.求所有子数组的和的最大值. 要求时间复杂度为O(n). 思路 详见链接 代码 class Solution: ...

  2. 剑指 Offer 42. 连续子数组的最大和java

    输入一个整型数组,数组中的一个或连续多个整数组成一个子数组.求所有子数组的和的最大值. 要求时间复杂度为O(n). 示例1: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4] 输出 ...

  3. 【剑指offer-Java版】31连续子数组的最大和

    连续子数组最大和,要求O(n)时间复杂度 思路:核心思想就是当前遍历数组的时候,遇到的是一个正数,计算这个正数加上已有的和得到一个新的和 如果这个新的和比当前的正数大,那么保留该和否者更新和为当前正数 ...

  4. 【LeetCode】剑指 Offer 42. 连续子数组的最大和

    [LeetCode]剑指 Offer 42. 连续子数组的最大和 文章目录 [LeetCode]剑指 Offer 42. 连续子数组的最大和 一.动态规划 一.动态规划 状态定义 设动态规划列表 dp ...

  5. 剑指 Offer 42. 连续子数组的最大和(官解)

    14天阅读挑战赛 努力是为了不平庸~ 算法学习有些时候是枯燥的,这一次,让我们先人一步,趣学算法!欢迎记录下你的那些努力时刻(算法学习知识点/算法题解/遇到的算法bug/等等),在分享的同时加深对于算 ...

  6. LeetCode -- 剑指 Offer 42. 连续子数组的最大和

    剑指 Offer 42. 连续子数组的最大和 线性 DP 题. 针对于数组nums[i] 而言,以它为结尾的子数组分两种情况:(题目限制:必须是连续数组) num[i] 自身作为独立子数组:f[i] ...

  7. 剑指 Offer 42. 连续子数组的最大和

    摘要 剑指 Offer 42. 连续子数组的最大和 一. 动态规划分析 1.1 动态规划思路分析 假设nums数组的长度是n,下标从0到n−1.我们用 f(i)代表以第i个数结尾的连续子数组的最大和, ...

  8. 【最佳解法】剑指 Offer 42. 连续子数组的最大和

    我是小张同学,立志用最简洁的代码做最高效的表达 思路:动态规划 假设nums\textit{nums}nums 数组的长度是 nnn,下标从 000 到 n−1n-1n−1. 我们用 f(i)f(i) ...

  9. 【剑指Offer】42. 连续子数组的最大和

    NowCoder 题目描述 {6, -3, -2, 7, -15, 1, 2, 2},连续子数组的最大和为 8(从第 0 个开始,到第 3 个为止). 解题思路 public class Soluti ...

  10. [剑指offer]面试题第[68-2]题[Leetcode][第236题][JAVA][二叉搜索树的最近公共祖先][递归]

    [问题描述][中等] 235/68-1 搜索二叉树 236/68-2 二叉树 [解答思路] 递归 时间复杂度:O(N) 空间复杂度:O(N) 情况 1. , 2. , 3. , 4. 的展开写法如下. ...

最新文章

  1. pat德才论(java)
  2. spss方差分析_【案例】SPSS统计分析:多因素方差分析
  3. DevOps时代,企业数字化转型需要强大的工具链
  4. C++字符串的个人理解
  5. Attachments to close incidents
  6. 微信分享接口 略缩图 php
  7. HTML中IE版本条件注释整理
  8. Java并发——Synchronized及其实现原理
  9. Xshell配合Screen之ssh会话永不断开
  10. 如何从一个html页面调用另外一个页面的js函数,解决同一页面中两个iframe互相调用jquery,js函数的方法...
  11. ②C语言,求数组里相同的位置并输出
  12. java中handler机制_自己动手撸一个Handler,让你彻底搞懂Handler机制,揍吻你服不服?...
  13. SharePoint下载大文件失败 异常信息: system.OutOfMemoryException
  14. 侧方位停车技巧图解 教你快速便捷停车(图)
  15. 和python哪个容易胖_哪些吃了最容易长胖呢?
  16. mysql 设置忽略大小写
  17. 服务器CPU和普通CPU有什么区别?常用的服务器有六大区别
  18. Orinda无线ap
  19. IETester的使用(针对VB.NET视频)
  20. wamp 增加php 7.2,wamp环境下php7.2升级,WAMP本地环境升级php7+版本

热门文章

  1. [编程启蒙游戏] 1. 猜数字
  2. LeetCode 846. 一手顺子(map)
  3. LeetCode 863. 二叉树中所有距离为 K 的结点(公共祖先/ DFS+BFS)
  4. LintCode 207. 区间求和 II(线段树)
  5. java8 util.time_Java8 java.util.Date转换为java.time.ZonedDateTime
  6. 往java里输入坐标值_java.让用户输入x坐标,和y坐标。当用户输入完x坐标(比如200),敲enter,...
  7. python字典速度能比字典高多少_python – 字典访问速度比较与整数键对字符串键...
  8. plotplay恢复默认设置_手把手解答win10系统potplayer经常弹出自动更新提示的还原技巧...
  9. linux socket 面试题,面试题
  10. spring boot+thmyleaf ModelAndView页面传值