每天一道剑指offer-连续子数组的最大和
题目描述
在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{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-连续子数组的最大和相关推荐
- 剑指offer——连续子数组的最大值
问题 剑指offer上的[连续子数组的最大值] 方法 动态规划 详解 问题拆分 容量为i数组 array[] 的连续子数组的最大值 max = max(end1,end2,--,endi) end2 ...
- 剑指offer---连续子数组的最大和
题目:连续子数组的最大和 要求:例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(6-3-2+7).给一个数组,返回它的最大连续子向量的和. class Solution { ...
- 剑指offer--连续子数组的最大和
动态规划:从第一项开始,如果前面数的累和小于0,且累和值不是记录的最大值,则从当前数重新开始迭代 动态规划将大问题分解为子问题求解,与分治法不同的是,分治法的子问题相互独立且通常利用递归进行求解, 而 ...
- 【LeetCode】剑指 Offer 42. 连续子数组的最大和
[LeetCode]剑指 Offer 42. 连续子数组的最大和 文章目录 [LeetCode]剑指 Offer 42. 连续子数组的最大和 一.动态规划 一.动态规划 状态定义 设动态规划列表 dp ...
- 剑指offer——面试题31:连续子数组的最大和
剑指offer--面试题31:连续子数组的最大和 Solution1: 第一次做这道题.. 讲道理是这是标准的动态规划的题目,可是思路未完全想好. min_element(iterator, iter ...
- 剑指 Offer 42. 连续子数组的最大和(官解)
14天阅读挑战赛 努力是为了不平庸~ 算法学习有些时候是枯燥的,这一次,让我们先人一步,趣学算法!欢迎记录下你的那些努力时刻(算法学习知识点/算法题解/遇到的算法bug/等等),在分享的同时加深对于算 ...
- LeetCode -- 剑指 Offer 42. 连续子数组的最大和
剑指 Offer 42. 连续子数组的最大和 线性 DP 题. 针对于数组nums[i] 而言,以它为结尾的子数组分两种情况:(题目限制:必须是连续数组) num[i] 自身作为独立子数组:f[i] ...
- 剑指 Offer 42. 连续子数组的最大和
摘要 剑指 Offer 42. 连续子数组的最大和 一. 动态规划分析 1.1 动态规划思路分析 假设nums数组的长度是n,下标从0到n−1.我们用 f(i)代表以第i个数结尾的连续子数组的最大和, ...
- 《剑指offer》-- 复杂链表的复制、字符串的排列、数组中出现次数超过一半的数字、连续子数组的最大和
一.复杂链表的复制: 参考牛客网的chancy:https://www.nowcoder.com/questionTerminal/f836b2c43afc4b35ad6adc41ec941dba 1 ...
- 【最佳解法】剑指 Offer 42. 连续子数组的最大和
我是小张同学,立志用最简洁的代码做最高效的表达 思路:动态规划 假设nums\textit{nums}nums 数组的长度是 nnn,下标从 000 到 n−1n-1n−1. 我们用 f(i)f(i) ...
最新文章
- Python 自动化运维 pycurl
- Android系统开发和性能优化——查漏补缺【建议收藏】
- 微信链接非80端口问题解决方案(伪处理)
- C语言之父,UNIX之父丹尼斯·里奇去世 享年70岁
- vue component created没有触发_Vue 全局数据管理-Vuex
- 赵雅智_Fragment生命周期
- 从ncbi下载数据_如何从NCBI下载所有细菌组件
- MySQL数据库和Oracle数据库的区别
- docker高级应用之智能添加与修改防火墙规则
- js的正则表达,只允许数字和特殊
- 就说现在的钱有多难挣
- PHPstrom的Disable Power Save Mode
- [Linux] Ubuntu Server 12.04 LTS 平台上搭建WordPress(Nginx+MySQL+PHP) Part IV
- 现代软件工程第一次结对编程(黄金点游戏)总结
- RHCSA红帽认证考试题库--上午考试题
- 分享,iOS国家手机区号代码.plist
- Activity的生命周期
- python aic准则_赤池信息准则AIC,BIC
- 如何使用 Swift 开发简单的条形码检测器?
- 3.11 污点和容忍度