题目:HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。

  但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠住?(子向量的长度至少是1)

思路:给定一个数组,求给定数组的子数组的最大和。每次从i开始,将i之后的数挨个相加比较和的大小。

方法一:for循环,时间复杂度,o(n3)(方法一与方法二的区别是:方法一是加完再比较)

public class Solution {public int FindGreatestSumOfSubArray(int[] array) {int max = array[0];for(int i = 0; i < array.length;i++){         //注意连续数组的个数也可以为1for(int j = i;j < array.length;j++){int sum = 0;for(int k = i; k <= j;k++){sum+=array[k];}if(max<sum){max = sum;}}}return max;}
}

方法二:在方法一的基础上去除掉一个循环,(方法二是边加边比较)

public class FindGreatestSumOfSubArrayClass {public int FindGreatestSumOfSubArray(int[] array) {int max = array[0];int sum = 0;for(int i = 0; i < array.length;i++){sum = 0;for(int j = i;j < array.length;j++){sum += array[j];if(max<sum){max = sum;}}}return max;}
}

转载于:https://www.cnblogs.com/lfdingye/p/7326592.html

【剑指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 ...

最新文章

  1. 【 NLS 】Steepest Descent Algorithm Iteration Procedure of TOA - Based Positioning
  2. linux不能识别usb,求助:USB无法识别
  3. 视觉设计_视觉设计:
  4. 论文笔记(SocialGCN: An Efficient Graph Convolutional Network based Model for Social Recommendation)
  5. python app自动化测试框架_appium+python,app自动化测试框架
  6. 网络通信 URL-省略文件名情况
  7. iOS之路10-给xib设置约束注意
  8. Thinkpad T61宽屏风扇拆缷与清理灰尘手记
  9. UE4虚幻引擎更改项目缓存路径
  10. 华为_ensp_vlan接口模式
  11. python 爬取贝壳网小区名称_利用python爬取贝壳网租房信息,python爬虫接单网, 最近准备换房子,...
  12. 计算机开题报告答辩评语,开题报告评语4篇
  13. html画布创建黑白象棋棋盘,canvas应用——中国象棋棋盘
  14. maya加载不了arnold的mtoa可能是这个低级错误!
  15. 图片怎么转换成PDF,这三个方法轻松搞定!
  16. Python常见问题之单双引号使用错误
  17. 浅析疯狂动物城的制作流程
  18. mysql b tree索引原理_B+Tree原理及mysql的索引分析
  19. Flutter事件分发流程简析
  20. 泉州计算机公司排名2015,福建企业100强榜单出炉!分布在这些地方

热门文章

  1. Excel中的图表制作(一) -各种商品销售量显示
  2. CSS中选择器的优先级 ( ※关于相同属性的覆盖问题 )
  3. 龙邱STM32单片机用J-LINK下载无法被识别的解决方法
  4. SpringMvc 400 Bad Request解决方法
  5. 检测到JSON.NET错误类型的自引用循环
  6. 我可以在同一个catch子句中捕获多个Java异常吗?
  7. 确定数组是否包含值[重复]
  8. mysql_fetch_array()/ mysql_fetch_assoc()/ mysql_fetch_row()/ mysql_num_rows等…期望参数1为资源或结果
  9. 是否有一个“先前的兄弟”选择器?
  10. python 写入csv有引号_python读带引号的csv--解决 'utf-8' codec can't decode