求最大子数组的和(动态规划法)
来源:互联网 发布:全民突击刷枪内购软件 编辑:程序博客网 时间:2024/05/16 01:07
还是动态规划方法的适应广些,数组可以全是负数。前面没用动态规划方法如何实现,还需进一步思考,明天继续。
/* FindGreatestSumofSubArray.cpp : 定义控制台应用程序的入口点。@mishidemudong @2015-5-22*/#include "stdafx.h"int max(int x, int y){return x > y ? x : y;}int FindGreatestSum(int *A, int length){int CurentSum = A[0];int StateSum = 0;if (A == NULL || length <= 0)return 0;for (int i = 1; i < length; ++i){if (CurentSum <= 0) //如果和都小于0了,就放弃前面的和,重新等于当前数,并从当前述开始计算和CurentSum = A[i]; elseCurentSum += A[i];if (CurentSum>StateSum) //记录最大的和,并保存在StateSum中;StateSum = CurentSum; }return StateSum;}
//动态规划的思路;int MaxSum(int *A, int length){int nStart = A[0];int nAll = A[0];for (int i = 1; i < length; ++i){nStart = max(A[i], nStart + A[i]);nAll = max(nStart, nAll);}return nAll;}int _tmain(int argc, _TCHAR* argv[]){int A[] = { -1, -2, -1, -10, -4, -7, -9, -10, -2, -5 };printf("%d\n", FindGreatestSum(A, 9));printf("%d", MaxSum(A, 9));return 0;}
0 0
- 求最大子数组的和(动态规划法)
- 【动态规划】求数组最大的子数组连续和
- 动态规划求不相邻的最大子数组和
- 动态规划求不相邻的最大子数组和
- 动态规划:求子数组的最大连续和
- 动态规划求不相邻的最大子数组和
- 【动态规划】之求连续子数组的最大和
- 动态规划求最大子数组的和
- 动态规划算法 (微软笔试题,求连续子数组的最大和)
- 利用动态规划求连续数组最大和以及最大子矩阵的和
- 求最大子数组(利用动态规划)
- 求数组的最大子段和,动态规划 时间复杂度O(n)
- java如何求最大子数组的和 蛮力算法 动态规划算法
- 【大白话版】求最大和子数组的动态规划算法
- 动态规划-循环数组的最大子数组和
- 动态规划求最大子段和
- 动态规划求最大子段和
- 动态规划:求最大子段和
- EL表达式在js文件中使用
- 短信发送器的实现
- 黑马程序员-----Java基础-----I/O流操作
- 子类继承父类的私有属性
- 关于王垠和Lisp的感悟
- 求最大子数组的和(动态规划法)
- Codeforces Round #302 (Div. 1) A. Writing Code
- 总结自己的Git常用命令
- android的单元调试
- 欢迎使用CSDN-markdown编辑器
- ios给NSMutableDictionary循环赋值的两种方式,在循环内初始化NSMutableDictionary和在循环外初始化NSMutableDictionary有何区别?(已解决)
- 545B Equidistant string
- 文件存储的实现-login登录案例3-SharedPreferences
- struts1.2 几种Action详解