连续子数组的最大和
2016-06-03 11:35
267 查看
问题描述:
输入一个整型数组,数组里有正数也有负数。数组中一个或者连续的多个整数组成一个字数组。求所有子数组的和的最大值。要求时间复杂度为O(n).解法一:
最直接的方法,记sum[i,….j]为数组A中第i个元素到第j个元素的和(其中0 <= i <= j < n)遍历所有可能的sum[i,…j],时间复杂度为O(N^3)。
(默认数组为空时,返回值为0)
class Solution { public: int FindGreatestSumOfSubArray(vector<int> array) { int maximum = 0x80000000 ; int n = array.size(); if(n == 0) return 0; for(int i = 0;i<n;i++){ for(int j = i;j<n;j++){ int sum = 0; for(int k = i;k<=j;k++){ sum += array[k]; } if(sum > maximum) maximum = sum; } } return maximum; } };
相关文章推荐
- 分布式服务框架 Zookeeper
- numpy常用函数
- mininet 画网络拓扑图
- Streaming Real-time Data Into HBase
- Oracle安装错误ora-00922(缺少或无效选项)
- gluUnProject glUnProject4包含w值 glProject求取屏幕z坐标
- Ueditor文本编辑工具栏自定义
- Python configparser模块
- redis-设置密码
- Ueditor文本编辑工具栏自定义
- 移动文件流的读写指针---fseek
- 职业诚信与道德
- qevent 事件的accept()和ignore()
- zookeeper集群安装和配置
- Markdown教程
- 开发环境的搭建
- Android开发工具之Android Studio--如何打包sdk通过arr包的方式
- vs添加lib等依赖项
- 从oc到swift
- 机器学习中的算法(1)-决策树模型组合之随机森林与GBDT