面试or笔试3——最大连续子序列和
来源:互联网 发布:mac最新系统下载地址 编辑:程序博客网 时间:2024/06/06 09:44
1 题目及要求
1.1 题目描述
给定k个整数的序列{N1,N2,...,Nk },其任意连续子序列可表示为{ Ni, Ni+1, ..., Nj },其中 1 <= i <= j <= k。最大连续子序列是所有连续子序中元素和最大的一个,例如给定序列{ -2, 11, -4, 13, -5, -2 },其最大连续子序列为{11,-4,13},最大连续子序列和即为20。如果所有整数均为负数,则最大子序列和为0。
解题思路:
运用动态规划的思想:MaxSum[i] = Max{ MaxSum[i-1] + A[i], A[i]}
2 解答
2.1 代码
#include<iostream>#include<vector>#include<assert.h>using namespace std;int max_subSet(vector<int> &v){ //O(n),动态规划int n=v.size();assert(n>0);int currentSum=0,maxSum=0;for(int i=0;i<n;++i){currentSum+=v[i];if(currentSum>maxSum) maxSum=currentSum;else if(currentSum<0) currentSum=0;}return maxSum;}int main(){vector<int> v={-2, 11, -4, 13, -5, -2};cout<<max_subSet(v)<<endl;return 0;}
阅读全文
0 0
- 面试or笔试3——最大连续子序列和
- 笔试算法学习--最大连续子序列和
- 挑战面试编程:最大连续子序列和
- 最大连续子序列和——动态规划
- 动态规划——连续子序列最大和
- 连续子序列最大和
- 最大连续子序列和
- 最大连续子序列和
- 最大连续子序列和
- 最大连续子序列和
- 最大连续子序列和
- 最大连续子序列和
- 最大连续子序列和
- 最大连续子序列和
- 最大连续子序列和
- 最大连续子序列和
- 最大连续子序列和
- 最大连续子序列和
- ThreadPoolExcutor(线程池)
- 表触发器
- OpenCV简单操作-图像腐蚀
- BZOJ 4999: This Problem Is Too Simple!
- Linux基础使用
- 面试or笔试3——最大连续子序列和
- HIVE学习笔记:HiveServer2,调用HIVE的JavaAPI
- Git 服务器搭建
- Java中的static关键字解析
- 学生信息系统错误集(一)
- python六之列表生成式
- C语言.h文件的作用
- SQL Server 2008 事务日志物理文件尺寸无法减小的解决办法(含日志收缩(shrink)技巧)
- Jquery特效---购物车 代码