给一个数组,求他的子串,使该子串的和最大
来源:互联网 发布:js调用java代码 编辑:程序博客网 时间:2024/05/01 16:27
如果f[m-1]>0, f[m]=f[m-1]+a[m]
f[m-1]<0, f[m]=a[m];
解释如下:
如果array[i,...k,....j]就是满足和最大的子串,那么对于任何k(i<k<j),必有array[i....k]和大于0,否则array[k+1,....j]和就大于array[i....j]
int kadane(const int array[],int length,int& left,int& right)
{
int i,cur_left,cur_right;
int max,cur_max;
max=cur_max=cur_left=cur_right=left=right=0;
for(int i=0;i<length;i++)
{
cur_max+=array[i];
if(cur_max>0)
{
cur_right=i;
if(max<cur_max)
{
max=cur_max;
left=cur_left;
right=cur_right;
}
}
else
{
cur_max=0;
cur_left=cur_right=i+1;
}
}
}
0 0
- 给一个数组,求他的子串,使该子串的和最大
- 求数组的最大子串和
- 求整形数组的一个子数组,使得该子数组所有元素的和的绝对值最大。
- 求一个数组的子数组,使的该子数组的和是所有子数组中的最大值
- 求一个数组的子数组的最大的和
- 求一个数组的子数组的最大和
- 求一个整数数组的子数组的最大和
- 求一个数组中连续子数组的最大和
- 求子数组的最大和并输出该子数组各成员
- 求最大子数组的和,以及求该最大子数组的起始位置和末尾位置
- 给定一个数组,返回最大子数组的累加和并且返回该子数组
- 求一个有正有负的数组的最大子段和
- 求数组最大子数组的和
- 求一个数组的最大子序列
- 51nod 求循环数组的最大子串和
- 求一个整形数组的和最大的连续子串 -------- 程序员面试金典
- 求一个整数序列的和的最大子串
- 求子数组的最大和
- UIViewController全部API的学习。
- Windows下安装HBase
- linux系统下用到的小知识点积累
- OC入门--基本知识(终端)
- BonID URL
- 给一个数组,求他的子串,使该子串的和最大
- RMAN 系列(一)---- RMAN 体系结构概述
- Hibernate 的应用(Hibernate 的结构)?
- mybatis缓存问题(一)
- git学习过程
- 根据兴趣标签匹配推荐用户
- RMAN Catalog 和 Nocatalog 的区别
- 那些好用的iOS开发工具
- Linux初学者进阶学习资源整理