描述

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
示例:
输入: [-2,1,-3,4,-1,2,1,-5,4],
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。
进阶:
如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。

题解

方法1 贪心法 O(n)

如果sum始终大于0,则一直向后加,如果sum小于0则寻找新子串。

 public int maxSubArray(int[] nums) {int sum = 0;int res = nums[0];for(int i = 0; i < nums.length; i++){if(sum > 0){sum += nums[i];}else{sum = nums[i];}res = Math.max(res, sum);}return res;}

方法2 分治法

【LeetCode】4月5日打卡-Day21-最大子序和问题相关推荐

  1. leetcode.cn 2022年11月4日 打卡题 754. 到达终点数字【一元二次方程解法,时间复杂度O(1)】

    leetcode 2022年11月4日 打卡题 754. 到达终点数字 写在前面   首先感谢 @子不语 大佬发布的一元二次方程代码实现的启发.题解链接:子不语-754. 到达终点数字   本文侧重梳 ...

  2. 2020年6月23日打卡

    打卡 2020年6月23日 计划与安排 Leetcode 67. 二进制求和 学习笔记 这位先生我能占用您一点时间吗-- 计划与安排 预期每天在博客中叙述如下内容: 每日做leetcode的感悟与题解 ...

  3. 3月19日 打卡

    一周第一次课(3月19日) 1.1 学习之初 1.2 约定 1.3 认识Linux 1.4 安装虚拟机 1.5 安装centos7 学习Liux 真的只是一场缘分,之前我只知道她是一个操作系统.但我重 ...

  4. 【LeetCode】3月17日打卡-Day2

    题1 拼写单词 描述 给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars. 假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串 ...

  5. 【LeetCode】4月4日打卡-Day20-接雨水

    描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水. 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下, ...

  6. 【LeetCode】4月3日打卡-Day19-字符串转整数

    描述 请你来实现一个 atoi 函数,使其能将字符串转换成整数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止.接下来的转化规则如下: 如果第一个非空字符为正或者负号 ...

  7. 【LeetCode】4月1日打卡-Day17-括号匹配/嵌套深度

    题1 有效括号的嵌套深度 题解 要求划分出使得最大嵌套深度最小的分组,我们首先得知道如何计算嵌套深度.我们可以通过栈实现括号匹配来计算: 维护一个栈 s,从左至右遍历括号字符串中的每一个字符: 如果当 ...

  8. 【LeetCode】4月2日打卡-Day18-矩阵操作

    题1 生命游戏 描述 根据 百度百科 ,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机. 给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞.每 ...

  9. 【LeetCode】3月31日打卡-Day16-数组排序算法汇总

    排序算法一览 快排 插入排序 希尔排序 桶排序 计数排序 归并排序 桶排序 class Solution {public int[] sortArray(int[] nums) {if(nums.le ...

最新文章

  1. 谷歌新研究:基于数据共享的神经网络快速训练方法
  2. react native连接mysql_react-native上手之环境搭建及连接模拟器
  3. java消费者和生产者模型_Java实现简易生产者消费者模型过程解析
  4. C# Socket编程
  5. 区块链不适用的若干场景
  6. 肺功能曲线图怎么看_如何看肺功能结果报告单
  7. php mysql ajax 注册验证 实例_Ajax小实例   用户注册异步验证
  8. nginx1.6.2编译安装
  9. Linux下写盘速度测试程序,Linux下硬盘读写速度测试
  10. 产品管理:新产品开发流程「权威指南」
  11. RS232 与 RS485的区别总结
  12. 中国移动基于 Kubernetes 的物联网边缘计算应用实践
  13. python猜拳游戏电脑随机循环版
  14. 编程比赛项目和时间汇总
  15. 利用pytesser识别简单图形验证码
  16. 亚马逊获取买家信息,店铺申请,ERP系统,MWS迁移SPAPI,SPAPI注册,PII权限获取
  17. linux下ps、grep和kill联合使用杀掉进程
  18. 基于android的宠物救助站app
  19. 局域网访问提示无法访问检查拼写_Win7访问共享文件夹提示请检查名称的拼写的解决方法...
  20. Java JMF 多媒体框架

热门文章

  1. 我的前同事,阿里大牛的技术感悟
  2. 周五跟大佬喝酒,顺便打了个球
  3. oracle数据库时分秒格式_Oracle如何输出指定格式的日期时间数据呢?
  4. mac 终端登陆linux,Mac终端自动登录服务器
  5. 常用c语言小程序,c语言经典小程序汇总大全
  6. kvm虚拟化_KVM 虚拟化环境搭建 - WebVirtMgr
  7. 非线性回归(Non-linear Regression)
  8. POJ 2255 Tree Recovery(已知前序中序,求后序)
  9. PHP方向+go+rpc+swoole,瞅瞅 PHP+Swoole 作为网络通信框架
  10. 电脑硬件检测_【学无止境】电脑硬件维修测试学习资料(附送各类PC检修资源)...