问题描述: 输入一组整数,求出这组数字子序列和中最大值。也就是只要求出最大子序列的和,不必求出最大的那个序列。例如: 序列:-2 11 -4 13 -5 -2,则最大子序列和为20。 序列:-6 2 4 -7 5 3 2 -1 6 -9 10 -2,则最大子序列和为16。 下面依次给出几个不
问题描述:
输入一组整数,求出这组数字子序列和中最大值。也就是只要求出最大子序列的和,不必求出最大的那个序列。例如:
序列:-2 11 -4 13 -5 -2,则最大子序列和为20。
序列:-6 2 4 -7 5 3 2 -1 6 -9 10 -2,则最大子序列和为16。
下面依次给出几个不同实现算法
int MaxSubseqSum1( int A[], int N )//算法1 T( N ) = O( N3 ) { int ThisSum, MaxSum = 0; int i, j, k; for( i = 0; i < N; i++ ) /* i是子列左端位置*/ { for( j = i; j < N; j++ ) /* j是子列右端位置*/ { ThisSum = 0; /* ThisSum是从A[i]到A[j]的子列和*/ for( k = i; k <= j; k++ ) ThisSum += A[k]; if( ThisSum > MaxSum ) /* 如果刚得到的这个子列和更大*/ MaxSum = ThisSum; /* 则更新结果*/ } /* j循环结束*/ } /* i循环结束*/ return MaxSum; } int MaxSubseqSum2( int A[], int N ) //算法2T( N ) = O( N2 ) { int ThisSum, MaxSum = 0; i【本文来自鸿网互联 (http://www.68idc.cn)】nt i, j; for( i = 0; i < N; i++ ) /* i是子列左端位置*/ { ThisSum = 0; /* ThisSum是从A[i]到A[j]的子列和*/ for( j = i; j < N; j++ ) /* j是子列右端位置*/ { ThisSum += A[j]; /*对于相同的i,不同的j,只要在j-1次循环的基础上累加1项即可*/ if( ThisSum > MaxSum ) /* 如果刚得到的这个子列和更大*/ MaxSum = ThisSum; /* 则更新结果*/ } /* j循环结束*/ } /* i循环结束*/ return MaxSum; } int MaxSubseqSum4( int A[], int N ) //算法4T( N ) = O( N2 ) { int ThisSum, MaxSum; int i; ThisSum = MaxSum = 0; for( i = 0; i < N; i++ ) { ThisSum += A[i]; /* 向右累加*/ if( ThisSum > MaxSum ) MaxSum = ThisSum; /* 发现更大和则更新当前结果*/ else if( ThisSum < 0 ) /* 如果当前子列和为负*/ ThisSum = 0; /* 则不可能使后面的部分和增大,抛弃之*/ } return MaxSum; }//“在线”的意思是指每输入一个数据就进行即时处理,在任 何一个地方中止输入,算法都能正确给出当前的解。
算法3---分治法

最常称为VSCode的VisualStudioCode是开发人员用于编码的工具之一。Intellisense是VSCode中包含的一项功能,可让编码人员的生活变得轻松。它提供了编写代码的建议或工具提示。这是开发人员更喜欢的一种扩展。当IntelliSense不起作用时,习惯了它的人会发现很难编码。你是其中之一吗?如果是这样,请通过本文找到不同的解决方案来解决IntelliSense在VS代码中不起作用的问题。Intellisense如下所示。它在您编码时提供建议。首先检

解决C++代码中出现的“error:redefinitionofclass'ClassName'”问题在C++编程中,我们经常会遇到各种各样的编译错误。其中一个常见的错误是“error:redefinitionofclass'ClassName'”(类‘ClassName’的重定义错误)。这个错误通常出现在同一个类被定义了多次的情况下。本文将

Steam是十分受欢迎的一个平台游戏,拥有众多优质游戏,可是有些win10用户体现自己下载不了steam,这是怎么回事呢?极有可能是用户的ipv4服务器地址没有设置好。要想解决这个问题的话,你可以试着在兼容模式下安装Steam,随后手动修改一下DNS服务器,将其改成114.114.114.114,以后应当就能下载了。win10下载不了steam怎么办:WIn10下能够试着兼容模式下安装,更新后必须关掉兼容模式,不然网页将无法加载。点击程序安装的属性,以兼容模式运作运行这个程序。重启以增加内存,电

解决PHP报错:继承父类时遇到的问题在PHP中,继承是一种重要的面向对象编程的特性。通过继承,我们能够重用已有的代码,并且能够在不修改原有代码的情况下,对其进行扩展和改进。尽管继承在开发中应用广泛,但有时候在继承父类时可能会遇到一些报错问题,本文将围绕解决继承父类时遇到的常见问题进行讨论,并提供相应的代码示例。问题一:未找到父类在继承父类的过程中,如果系统无

弱监督学习中的标签获取问题,需要具体代码示例引言:弱监督学习是一种利用弱标签进行训练的机器学习方法。与传统的监督学习不同,弱监督学习只需利用较少的标签来训练模型,而不是每个样本都需要有准确的标签。然而,在弱监督学习中,如何从弱标签中准确地获取有用的信息是一个关键问题。本文将介绍弱监督学习中的标签获取问题,并给出具体的代码示例。弱监督学习中的标签获取问题简介:

如何处理Linux系统中频繁出现的服务器负载过高问题摘要:本文介绍了如何处理Linux系统中频繁出现的服务器负载过高问题。通过优化系统配置、调整服务资源分配、检测问题进程和运行性能调优等方法,可以有效降低负载并提高服务器的性能和稳定性。一、引言服务器负载过高是Linux系统中常见的问题之一,会导致服务器运行缓慢、响应不及时,甚至无法正常工作。面对这个问题,我

win10浏览器自动关闭是怎么回事?我们在使用电脑的时候经常会去用到各种浏览器,而最近有不少用户在Win10电脑中使用浏览器的时候经常会出现自动关闭的情况,那么我们要是遇到这种问题应该怎么解决呢?很多小伙伴不知道怎么详细操作,小编下面整理了Win10系统浏览器自动关闭的解决教程,如果你感兴趣的话,跟着小编一起往下看看吧! Win10系统浏览器自动关闭的解决教程 1、针对浏览器崩溃的问题,可以借助电脑管家所提供的电脑诊所工具进行修复操作。只需要在其中搜索IE浏览器崩溃并点击如图所示立即修复

MySQL是一个常用的开源关系型数据库管理系统,许多应用程序和网站都使用MySQL作为其后端数据库。然而,有时当我们尝试连接到MySQL时,可能会遇到错误1045。错误1045意味着访问被拒绝,这通常是由于提供的用户名或密码不正确引起的。当我们在连接MySQL数据库时首次设置密码时,我们可能会遇到此错误。为解决这个问题,我们可以采取以下几个步骤:确认用户名和


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3 Linux新版
SublimeText3 Linux最新版

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),