求数组子序列最大和的算法
来源:互联网 发布:it外包网站源码 编辑:程序博客网 时间:2024/04/29 04:04
给定一个整型数数组,要求写一个函数,实现找出该数组中子序列各元素值之和的最大值,要求时间复杂度和空间复杂度最优。
int fun(int a[], int count)
{
int i;
int b = a[0];
int sum = a[0];
for(i = 1; i < count; i++)
{
if(b > 0)
{
b += a[i];
}
else
{
b = a[i];
}
if(b > sum)
{
sum = b;
}
}
return sum;
int fun(int a[], int count)
{
int i;
int b = a[0];
int sum = a[0];
for(i = 1; i < count; i++)
{
if(b > 0)
{
b += a[i];
}
else
{
b = a[i];
}
if(b > sum)
{
sum = b;
}
}
return sum;
}
问题分析,考虑使用动态规划算法,b为之前子序列的和,如果b+a[i] > b, 则最大子序列变为b + a[i], 否则最大子序列变为b=a[i];
程序在vc6上验证通过。
- 求数组子序列最大和的算法
- 求数组的最大子序列和
- 求数组最大子序列的和
- 求子数组的最大和【算法】
- 求数组中的最大子序列的值最优算法
- 算法复习------求数组的最大子序列
- 求数组最大连续子序列和
- 【面试】求数组子序列的最大和
- 求首尾相连数组的最大子序列和
- 分治法求数组最大连续子序列的和
- 求数组的连续子序列最大和
- 求子数组的最大和:算法求验证
- 求最大的子序列和的算法
- 联机算法求最大子序列和
- 求最大子序列和算法
- 联机算法求最大子序列和
- 经典算法--求最大子序列和
- JAVA 求最大子序列和 算法
- Castor 技术指南
- VC编译选项
- 获得hdc设备内容句柄
- 美国人教你这样用Google
- 数据结构_树_二叉树的线索化_C++实现
- 求数组子序列最大和的算法
- C语言字节对齐
- MyEclipse默认标签TODO,XXX,FIXME和自定义标签的使用
- 进程相关命令概念(包括deamon)
- 用汇编的眼光看c++(之模板函数)
- ajax乱码解决汇总
- SS_REALSIZECONTROL undefined 2104 和 heap curruption detected错误
- c++面向对象编程必备“良方”(欢迎大家来补充!)
- 数据采集系统的软件滤波[转]