求解数组中子数组的最大值
来源:互联网 发布:js数组常用方法 编辑:程序博客网 时间:2024/06/04 19:33
相信也有一部分人做过类似的题目。一个整型数组,有正有负,求出其中子数组的最大值。一开始可以设置两个for循环来求出最大值,但这样的时间复杂度为n的二次方。后来经过别人点播,想了一下,发现可以改进。
假设int a[ ] = {2,3,-6,5,3,-2,6,1,-2},则子数组为{5,3,-2,6,1},最大值为13。
从上述数组可以推出一般性。可以设置maxNum来存储最大值,例如从第一位2开始,加上3为5,这时maxNum为5,这时候加上(-6),则maxNum变为-1,任何数加上负数皆会变小。这时便可以舍弃前面这部分,重新把maxNum置为0。此时继续相加,5加上3为8,maxNum为8,这时候加上-2,保持maxNum为8不变,继续循环,加上6,明显{5,3,-2}这部分值为正,加上6的和超过maxNum,则子数组变为{5,3,-2,6},maxNum为12,之后依然按这种思路继续下去,则可求得最大值。
1 0
- 求解数组中子数组的最大值
- 数组中子数组和的最大值
- 获取数组中子串乘积的最大值
- 编程之美--求数组中子数组之和的最大值
- 找出一个数组中子数组和的最大值
- 求一个数组中子数组中的和的最大值
- 数组中子数组最大值----分治思想
- 找出一个个既有正数又有负数的数组中子数组的和的最大值
- 递归求解数组中的最大值
- 递归求解数组中的最大值
- poj1050 动态规划 求二维数组中子矩阵和的最大值
- 求数组中子数组的最大和
- 数组中子数组的最大累乘积
- 数组与矩阵---数组中子数组的最大累乘积
- 求数组的最大值
- 一个数组的求解
- 【算法题】求数组中子数组的最大乘积
- 007求数组中子数组最大的和
- Applet学习心得
- Objective-C的meta-class 详解
- 编写一个程序,一行行地读取输入行,直至到达文件尾。算出每行输入行的长度,然后把最长的那行打印出来。为了简单起见,你可以假定所有的输入行均不超过1000个字符
- SpringMVC框架下的文件上传(多文件)
- requestLayout() 和 invalidate()的区别
- 求解数组中子数组的最大值
- 微信开发中signature的验证,文本消息回复,单图文消息回复,多图文消息回复
- stringstream 的.str()正确用法和清空操作
- 1、Java概述及Dos常用命令
- timer使用思考
- HDU 1800 Flying to the Mars // Trie
- UESTC OJ1220(最短路)
- MySQL安装(转)
- 数据结构1---概念初识