题目

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

解决方法

动态规划思路:
对于给定数组nums,我们假设dp[i] 表示 数组中第i个位置的最大和,那么
有 f(i) = f(i-1) > 0 ? f(i-1) + nums[i] : nums[i]
我们计算出来每个位置的最大值,就可以知道整个dp数组的最大值。

class Solution {public int maxSubArray(int[] nums) {if (nums.length == 0) {return 0;}int max = Integer.MIN_VALUE;int[] dp = new int[nums.length];for (int i = 0; i < nums.length; i++) {if (i == 0) {dp[i] = nums[i];}else {dp[i] = dp[i-1] > 0 ? nums[i] + dp [i-1]: nums[i];}max = Math.max(max,dp[i]);}return max;}
}

算法-----最大子序和(Java 版本)相关推荐

  1. 算法-----------乘积最大子数组(Java版本)

    题目: 给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积.示例 1:输入: [2,3,-2,4] 输出: 6 解释: 子数组 ...

  2. 蓝桥杯 ALGO-20 算法训练 求先序排列 Java版

    问题描述 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度<=8). 输入格式 两行,每行一个字符串,分别表示中序和后序排列 输出格式 一个字符串,表示所 ...

  3. 文本分类算法之--贝叶斯分类算法的实现Java版本

    package com.vista; import java.io.IOException;       import jeasy.analysis.MMAnalyzer; /** * 中文分词器 * ...

  4. 算法--------俄罗斯套娃信封问题(Java版本)

    题目 给定一些标记了宽度和高度的信封,宽度和高度以整数对形式 (w, h) 出现.当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样.请计算最多能有多少个 ...

  5. 蓝桥杯练习系统算法训练习题加答案java版本

    附上百度文库的链接:http://wenku.baidu.com/view/afb78d36b42acfc789eb172ded630b1c59ee9bf7 转载于:https://www.cnblo ...

  6. 算法----------字符串的排列(Java版本)

    题目 给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列.换句话说,第一个字符串的排列之一是第二个字符串的子串.示例1:输入: s1 = "ab" s2 ...

  7. 回溯算法-----复原IP地址(Java版本)

    题目 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式.有效的 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成),整数之间用 '.' 分隔.示例:输入: " ...

  8. 算法--------打家劫舍(动态规划,Java版本)

    题目 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警.给定一个代 ...

  9. 算法------------存在重复元素 II(Java 版本)

    题目 给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的 绝对值 至多为 k.示例 1:输入: num ...

最新文章

  1. PhotoFiltre Studio X中文版
  2. Camera 涉及的文件70
  3. sptk安装,编译流程
  4. 六十一、分析Springboot中的项目结构介绍
  5. SSH反向连接及Autossh
  6. memoryTraining记忆训练小游戏
  7. 作者:张慧(1984-),女,中国科学院软件研究所助理研究员
  8. 【Java教程系列】JavaSE核心知识点总结
  9. Jenkins ssh 发布jar 时区不对
  10. Python OS sys模块
  11. mysql 队列存储_GitHub - hongliangbest/QueueTask: 一个轻量级可拓展的队列任务、暂时支持mysql、redis等存储方式...
  12. ASP.NET MVC中通过Request.IsAjaxRequest()来判断是否要加载公共视图
  13. 201521123059 《Java程序设计》第三周学习总结
  14. badboy使用手册
  15. mysql tp5时间倒叙_tp5(thinkPHP5框架)时间查询操作实例分析
  16. linux格式化卡死,在Linux中格式化SD卡失败
  17. 小工程结算书范本_工程结算书范本
  18. 微信小游戏SDK,全方位解读
  19. 科大迅飞语音听写(流式版)WebAPI,Web前端、H5调用 语音识别,语音搜索,语音听写
  20. 联想计算机桌面字变大,带高分辨率屏幕的联想高分辨率笔记本电脑字体模糊的解决方案...

热门文章

  1. php加入js动态效果,js怎么给输入框增加动画效果
  2. flutter ios打包_Flutter项目之iOS应用的打包发布流程
  3. 为什么用1 << 16表示数
  4. Opencv深拷贝与浅拷贝
  5. ViSP创建之VS工程详细创建步骤(命令行方式)
  6. 创建程序集时元数据失败 -- 拒绝访问_kubectl 创建 Pod 背后到底发生了什么?
  7. java手机游戏模拟器下载_Java手机游戏模拟器
  8. python ioc di_Spring介绍,IOC(控制反转),DI(依赖注入)介绍及两种注入方法
  9. hive load data inpath 空目录_Hive内部表 | 每日五分钟学大数据
  10. Vue.js@2.6.10更新内置错误处机制,Fundebug同步支持相应错误监控