编程算法 - 连续子数组的最大和 代码(C)
来源:互联网 发布:如何提升淘宝宝贝权重 编辑:程序博客网 时间:2024/05/19 17:27
连续子数组的最大和 代码(C)
本文地址: http://blog.csdn.net/caroline_wendy
题目: 输入一个整型数组, 数组里有正数也有负数. 数组中一个或连续的多个整数组成一个子数组.求所有子数组的和的最大值.
使用一个数保存当前和, 如果当前和为小于0, 则替换新值, 否则, 递加, 使用一个数保存临时最大值.
代码:
/* * main.cpp * * Created on: 2014年6月29日 * Author: wang */#include <stdio.h>#include <limits.h>using namespace std;int GetGreatestSumOfSubArray (int* pData, int length) {if (pData == NULL || length <= 0)return 0;int nCurSum = 0, nGreatestSum = -INT_MAX;for (int i=0; i<length; ++i) {if (nCurSum <= 0) nCurSum = pData[i];else nCurSum += pData[i];if (nCurSum > nGreatestSum)nGreatestSum = nCurSum;}return nGreatestSum;}int main(void){ int data[] = {1, -2, 3, 10, -4, 7, 2, -5}; int result = GetGreatestSumOfSubArray(data, 8); printf("result = %d\n", result); return 0;}
输出:
result = 18
3 4
- 编程算法 - 连续子数组的最大和 代码(C)
- 编程算法 - 连续和最大的子数组 代码(C)
- 【C++】数组中连续子数组的最大和
- 算法导论 - 最大和连续子数组
- 【算法】最大连续子数组和
- c/c++ 算法之求连续子数组的最大和
- 程序员编程艺术:求连续子数组的最大和
- Java编程----连续子数组的最大和
- 算法题:连续子数组的最大和
- 算法:求连续子数组的最大和
- 算法 (连续)子数组的最大和(及起始点)
- 面试算法(三十一)连续子数组的最大和
- [算法]求最大连续子数组和的PHP程序
- 算法复习:连续子数组的最大和
- 【算法】求连续子数组的最大和
- pyrhon--c++--连续子数组的最大和
- 数组连续子数组的和最大
- 数组连续子数组的最大和
- 菜鸟学SSH(十三)——Spring容器IOC解析及简单实现
- 容器基础操作1
- C语言的本质(2)——二进制、八进制、十六进制与十进制
- 黑马程序员——OC——ARC内存管理
- 规范定义的错误码
- 编程算法 - 连续子数组的最大和 代码(C)
- HTML文档类型
- 121_leetcode_Wildcard Matching
- [hdu 1071]The area 高斯消元
- js面对对象编程(二):属性和闭包
- ORACLE锁机制
- 依赖注入的方式
- 机器学习中的相似性度量
- 游戏中常用算法