Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum.

Example:

Input: [-2,1,-3,4,-1,2,1,-5,4],
Output: 6
Explanation: [4,-1,2,1] has the largest sum = 6.

思路
这道题要求 求连续的数组值,加和最大。

试想一下,如果我们从头遍历这个数组。对于数组中的其中一个元素,它只有两个选择:

  1. 要么加入之前的数组加和之中(跟别人一组)

  2. 要么自己单立一个数组(自己单开一组)

所以对于这个元素应该如何选择,就看他能对哪个组的贡献大。如果跟别人一组,能让总加和变大,还是跟别人一组好了;如果自己起个头一组,自己的值比之前加和的值还要大,那么还是自己单开一组好了。

所以利用一个sum数组,记录每一轮sum的最大值,sum[i]表示当前这个元素是跟之前数组加和一组还是自己单立一组好,
————————————————

原文链接:https://blog.csdn.net/mine_song/article/details/61650409

class Solution {public int maxSubArray(int[] nums) {int []sum = new int[nums.length];//sum数组储存每一轮的sumint max= nums[0];sum[0] = nums[0];for(int i=1;i<nums.length;i++){sum[i] = Math.max(sum[i-1]+nums[i],nums[i]);//对于其中一个元素有两种选择,1加入之前数组,2如果自己比和之前数组的和还大则自己一组max = Math.max(max,sum[i]);}return max;}
}

leetcode#53Maximum Subarray相关推荐

  1. [LeetCode] Maximum Subarray 最大子数组

    Find the contiguous subarray within an array (containing at least one number) which has the largest ...

  2. LeetCode 974. Subarray Sums Divisible by K--Python解法--数学题--取模求余

    LeetCode 974. Subarray Sums Divisible by K–Python解法–数学题–取模求余 LeetCode题解专栏:LeetCode题解 LeetCode 所有题目总结 ...

  3. leetcode 974 Subarray Sums Divisible by K

    leetcode 974 Subarray Sums Divisible by K 1.题目描述 2.解题思路 3.Python代码 1.题目描述 给定一个整数数组 A,返回其中元素之和可被 K 整除 ...

  4. [LeetCode] Maximum Subarray

    Find the contiguous subarray within an array (containing at least one number) which has the largest ...

  5. LeetCode Maximum Subarray

    Find the contiguous subarray within an array (containing at least one number) which has the largest ...

  6. LeetCode - Maximum Subarray

    题目: Find the contiguous subarray within an array (containing at least one number) which has the larg ...

  7. LeetCode: Maximum Subarray 解题报告

    Maximum Subarray Find the contiguous subarray within an array (containing at least one number) which ...

  8. leetcode 974. Subarray Sums Divisible by K

    974. Subarray Sums Divisible by K 题意:给你一个数组A和一个数K,求改数组有多少连续子序列的和能被K整除. 思路:简单DP.假设sum[i]表示[0-i]的求和,那么 ...

  9. Leetcode 560. Subarray Sum Equals K

    前缀和(prefix sum/cumulative sum) import collectionsclass Solution(object):def subarraySum(self, nums, ...

最新文章

  1. 换工作必须避开的五个坑
  2. 所有的经历都是财富 --致我的2016
  3. T-SQL查询进阶--基于列的逻辑表达式
  4. Python中通过PyPDF2实现PDF合并
  5. 初学Java该学哪些知识?这6大知识必学
  6. 根据最大值和最小值获取对应的单元格值
  7. Nacos自定义 namespace与group配置
  8. mybatis的SelectKey属性的作用
  9. Java必知必会之socket
  10. C++模板实现,支持多维,安全数组的完整代码
  11. 艾伟:WinForm控件开发总结(三)------认识WinForm控件常用的Attribute
  12. Boblog热门日志、随机日志、热门Tags插件源代码
  13. c2000 电阻采样_常用超低阻值采样电阻阻值一览表
  14. 服务器如何安装center os7系统,center os 7安装教程
  15. 初中级前端面试题目汇总和答案解析
  16. 硬盘插上后提示“设备未就绪”の解决方案
  17. 低版本cad如何打开高版本图纸?不用升级软件也可以搞定
  18. 【日常学习】DAU和MAU
  19. VS2017中自用部分插件的设置的翻译或功能介绍—— Viasfora设置(一)
  20. html无限循环音乐,十首最好听的英文歌曲 经典动听 让你无限循环的歌曲

热门文章

  1. 华为使用计算机投屏要打开什么,华为P20投屏开启电脑办公模式,键盘鼠标操作更方便...
  2. 【机器学习】时间序列 ACF 和 PACF 理解、代码、可视化
  3. VxWorks6.6移植嵌入式ICE中间件解决方案
  4. python 动物分类_python入门学习之knn分类
  5. 『图解Java并发编程系列』10张图告诉你Java并发多线程那些破事
  6. 汉语言可以转计算机考研吗,我是一名学汉语言文学专业的大三本科生,现在想跨专业,考学科教育(历史)研究生...
  7. 总结了几百个ChatGPT模型的调教经验,确定不来看看?
  8. micropython应用触摸屏_[TPYBoard - Micropython之会python就能做硬件 2] 利用micropython控制NOKIA 5110屏...
  9. 高性能网络编程(一):单台服务器并发TCP连接数到底可以有多少
  10. 百度bae php.ini,彩虹网络验证(BSPHP)