数组连续子数组的最大和

原创 2015年11月18日 22:45:53

问题的输入是具有n个浮点数的向量x,输出是输入向量的任何连续子向量中的最大和

总体思想来源于编程珠玑第二版第八章

#include <iostream>
#include <algorithm>
using namespace std;
const int n = 10;
//此乃解决输入连续子向量中的最大和的效率最高的一种算法,动态规划法;当所有的输入都是负数时,总和
//最大的子向量是空向量,总和为0
//关键理解:maxendinghere
int main()
{
	int arr[n] = {31,-41,59,26,-53,58,97,-93,-23,84};
	int maxsofar = 0;
	int maxendinghere = 0;
	for (int i = 0; i < n; ++i) {
		//maxendinghere是结束位置为i-1的最大子向量的和,若加上x[i]之后的结果依然为
		//正值,则该赋值语句将maxendinghere增大x[i];若加上x[i]之后的结果为负值,则将
		//maxendinghere重新设为0
		maxendinghere = max(maxendinghere+arr[i], 0);
		maxsofar = max(maxendinghere, maxsofar);
	}
	cout << maxsofar << endl;
	int a;
	cin >> a;
}


连续子数组的最大和 动态规划实现

/* *copyright@nciaebupt 转载请注明出处 *问题:输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。 *求所有子数组的和的最大值。要求时间负责度为...
  • wuwuwuwuwuwuwuwu
  • wuwuwuwuwuwuwuwu
  • 2013年01月08日 16:51
  • 2576

[LeetCode] Maximum Subarray 求连续子数组的最大和

声明:原题目转载自LeetCode,解答部分为原创 Problem :     Find the contiguous subarray within an array (co...
  • xblog_
  • xblog_
  • 2017年06月05日 21:52
  • 292

Java编程----连续子数组的最大和

本篇博客的编程是关于数组的,数组在编程中有着举足轻重的地位,因为在Java中数组是直接存储在栈中的,所以操作起来很方便,效率非常高,数组也是面试中经常考察的一部分,关于数组的编程题目丰富多样,逻辑性很...
  • sd_lucky
  • sd_lucky
  • 2016年08月04日 23:09
  • 2557

LeetCode-连续子数组的最大和

Find the contiguous subarray within an array (containing at least one number) which has the largest ...
  • ivolcano
  • ivolcano
  • 2017年03月10日 14:41
  • 1205

【面试题之算法部分】最大和连续子数组

问题描述:给定一个数组A[0,1…n-1],求A的连续子数组,使该数组和最大 一. 暴力法 分析:首先初始化要求的最大值maxSum为A[0],然后定义三个索引i、j、k,然后三层循环:第一层i从0...
  • YoungLeoo
  • YoungLeoo
  • 2015年08月16日 08:29
  • 4483

剑指offer之连续子数组的最大和(Python)

输入一个整形数组,有正数和负数,数组中的一个或连续多个整数组成一个子数组,O(n)时间求所有子数组的和的最大值...
  • u010636181
  • u010636181
  • 2017年11月02日 11:17
  • 188

连续子数组的最大和 java实现

题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如...
  • qq_23217629
  • qq_23217629
  • 2016年09月11日 20:25
  • 883

求连续子数组和的最大值的变种问题

本文首先对求连续子数组和的最大值问题进行简要介绍,然后对它的两个变种问题进行讲解分析,一是求连续子数组和的绝对值的最小值,二是求环形数组连续子数组和的最大值。...
  • sunset108
  • sunset108
  • 2014年11月10日 19:13
  • 1282

动态规划典型例题--连续子数组的最大和

题目描述:给定一个数组arr,数组中的元素有整数也有负数,数组中的一个或者连续多个数组成一个子数组。 求所有子数组里面的最大和。例如现在有数组 {1 , -2 , 3 , 10 , -4 , 7...
  • qq_34528297
  • qq_34528297
  • 2017年05月24日 19:27
  • 422

连续子数组的最大和问题(一维和二维)To the Max (POJ 1050)

一维数组的连续子数组的最大和 题目:输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。 这是一个典型的D...
  • huanyingtianhe
  • huanyingtianhe
  • 2015年01月25日 16:35
  • 1176
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数组连续子数组的最大和
举报原因:
原因补充:

(最多只允许输入30个字)