字数组的最大和
来源:互联网 发布:钢琴弹奏软件 编辑:程序博客网 时间:2024/09/21 08:54
#include <iostream>
using namespace std;
int maxSubArray(int a[], int size)
{
int max = -(1 << 31);
int i = 0, j = 0;
int sum = 0;
int subArray[size];
int start = 0, count = 0, maxstart = 0, maxcount = 0;//因为不知道什么时候会是最优解,所以先保存之前的最优解
for(i = 0; i < size; i++)
{
sum+=a[i];
count++;
if(sum > max)
{
max = sum;
maxstart = start;
maxcount = count;
}
else //当现在的子序列之和小于之前的,那么继续向后加,保持现在
{ //的子序列
if(sum < 0) //当之前的子序列之和为负数,那么sum设置为0
{
sum = 0;
count = 0;
start = i+1;
}
}
}
if(sum < 0)
{
max = a[0];
for(i =1; i < size; i++)
{
if(a[i] > max)
max = a[i];
}
cout << max;
return max;
}
for(i = maxstart; i <= maxstart + maxcount -1; i++)
{
cout << a[i] << ' ';
}
cout << endl;
return max;
}
int main()
{
int a[] = {-1,-2,3,10,-4,7,-2};
cout << maxSubArray(a,sizeof(a)/sizeof(int)) << endl;
// cout << (1 << 31) <<endl;
return 0;
}
using namespace std;
int maxSubArray(int a[], int size)
{
int max = -(1 << 31);
int i = 0, j = 0;
int sum = 0;
int subArray[size];
int start = 0, count = 0, maxstart = 0, maxcount = 0;//因为不知道什么时候会是最优解,所以先保存之前的最优解
for(i = 0; i < size; i++)
{
sum+=a[i];
count++;
if(sum > max)
{
max = sum;
maxstart = start;
maxcount = count;
}
else //当现在的子序列之和小于之前的,那么继续向后加,保持现在
{ //的子序列
if(sum < 0) //当之前的子序列之和为负数,那么sum设置为0
{
sum = 0;
count = 0;
start = i+1;
}
}
}
if(sum < 0)
{
max = a[0];
for(i =1; i < size; i++)
{
if(a[i] > max)
max = a[i];
}
cout << max;
return max;
}
for(i = maxstart; i <= maxstart + maxcount -1; i++)
{
cout << a[i] << ' ';
}
cout << endl;
return max;
}
int main()
{
int a[] = {-1,-2,3,10,-4,7,-2};
cout << maxSubArray(a,sizeof(a)/sizeof(int)) << endl;
// cout << (1 << 31) <<endl;
return 0;
}
0 0
- 字数组的最大和
- 连续字数组的最大和
- 连续字数组的最大和
- 31 - 连续字数组的最大和
- 连续字数组的最大和
- 最大连续字数列和的问题
- 求字数组最大和问题 python
- 求最大连续字数组和
- Android中限制EditText的最大字数
- 连续字数组中的最大和 分治法VS动态规划
- 字数的隐藏和展开
- 面试题精选(73):求内积最大的字数组
- iOS开发_限制UITextView的最大字数
- 动态规划(1)最大连续字数组乘积
- TextBox的多行和字数限制
- android的EditText字数检测和限制
- android的EditText字数检测和限制
- Android的EditText字数检测和限制
- 写给渡边模特的感谢信
- 无法掌控命运,就掌控内心
- Maximum Depth of Binary Tree
- 民间笑话荟萃
- 14周(初探二维数组)
- 字数组的最大和
- 交叉排序
- My Father - 父爱无边
- 2014年最新权限管理算法总结
- CSR8系列ROM版本芯片介绍
- rsync安全配置
- 记录几个抓取网页内容的网站
- Java Web项目加载properties资源文件
- Java中函数参数的传递