题目描述

在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的和

思路

我们根据给出的数组{6,-3,-2,7,-15,1,2,2}一步步计算,来寻找规律。定义一个sum,存放和,初始值6,定义一个tempMax,存放最大值6,首先,6-3=3,继续,3-2=1,继续,1+7=8>6,tempMax=8,继续,8-15=-7<8,所以舍弃,sum=1<8,继续,1+2=3<8继续。。
当累加的和<当前的值,舍弃,并把当前的值赋给sum,和tempMax进行比较,大则赋值,最后返回tempMax。

代码

public int FindGreatestSumOfSubArray(int[] array) {if(array.length<1)return 0;int sum = 0;int tempMax =array[0];for(int i=0;i<array.length;i++){sum+= array[i];if(sum<array[i]){sum=array[i];}if(sum>tempMax){tempMax = sum;}}return tempMax;}

每天一道剑指offer-连续子数组的最大和相关推荐

  1. 剑指offer——连续子数组的最大值

    问题 剑指offer上的[连续子数组的最大值] 方法 动态规划 详解 问题拆分 容量为i数组 array[] 的连续子数组的最大值 max = max(end1,end2,--,endi) end2 ...

  2. 剑指offer---连续子数组的最大和

    题目:连续子数组的最大和 要求:例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(6-3-2+7).给一个数组,返回它的最大连续子向量的和. class Solution { ...

  3. 剑指offer--连续子数组的最大和

    动态规划:从第一项开始,如果前面数的累和小于0,且累和值不是记录的最大值,则从当前数重新开始迭代 动态规划将大问题分解为子问题求解,与分治法不同的是,分治法的子问题相互独立且通常利用递归进行求解, 而 ...

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

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

  5. 剑指offer——面试题31:连续子数组的最大和

    剑指offer--面试题31:连续子数组的最大和 Solution1: 第一次做这道题.. 讲道理是这是标准的动态规划的题目,可是思路未完全想好. min_element(iterator, iter ...

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

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

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

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

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

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

  9. 《剑指offer》-- 复杂链表的复制、字符串的排列、数组中出现次数超过一半的数字、连续子数组的最大和

    一.复杂链表的复制: 参考牛客网的chancy:https://www.nowcoder.com/questionTerminal/f836b2c43afc4b35ad6adc41ec941dba 1 ...

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

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

最新文章

  1. Python 自动化运维 pycurl
  2. Android系统开发和性能优化——查漏补缺【建议收藏】
  3. 微信链接非80端口问题解决方案(伪处理)
  4. C语言之父,UNIX之父丹尼斯·里奇去世 享年70岁
  5. vue component created没有触发_Vue 全局数据管理-Vuex
  6. 赵雅智_Fragment生命周期
  7. 从ncbi下载数据_如何从NCBI下载所有细菌组件
  8. MySQL数据库和Oracle数据库的区别
  9. docker高级应用之智能添加与修改防火墙规则
  10. js的正则表达,只允许数字和特殊
  11. 就说现在的钱有多难挣
  12. PHPstrom的Disable Power Save Mode
  13. [Linux] Ubuntu Server 12.04 LTS 平台上搭建WordPress(Nginx+MySQL+PHP) Part IV
  14. 现代软件工程第一次结对编程(黄金点游戏)总结
  15. RHCSA红帽认证考试题库--上午考试题
  16. 分享,iOS国家手机区号代码.plist
  17. Activity的生命周期
  18. python aic准则_赤池信息准则AIC,BIC
  19. 如何使用 Swift 开发简单的条形码检测器?
  20. 3.11 污点和容忍度

热门文章

  1. 切割日志(mysql,nginx,php tomcat)使用logrotate
  2. 全球信息数据量陡增 大数据应用前景广阔
  3. 【原创】自己动手写控件----XSmartNote控件
  4. Nagios监控数据脚本记录一下。
  5. 根据系统创建文件路径
  6. 如何让普通人了解网络隐私的重要性
  7. 15.看板方法---启动看板变革
  8. 8.docker search
  9. 10.Linux/Unix 系统编程手册(上) -- 时间
  10. 42. netcat