求最大连续子序列和

news/2024/7/1 18:06:35

题目描述:

  数组 int a[] = {-4 , 3 ,56 , -15 , 34 , 0 , -14 , 4} ; 某几个连续的子序列其和最大,比如a0+a1 = -1 。a1+a2+a3+a4 = 78 。则[a1 a2 a3 a4]组成的数组即是所求。

分析:

  如果能够找到每个位置结束的最大连续子串和,那么保留最大的和就能解决问题。当然,也可以找到每个位置开始的最大连续子串和,其实这种的话就是把数组反转(其实还是求得以结束位置的最大连续子串和的意思),还是求解原来的问题。

  重点:能够想到设计一个以第j处结束的子序列的最大和数组b[j]。(这样就能保证连续性,妙...)

找出递推式:

    设b[j]表示第j处,以a[j] 结尾的子序列的最大和。
       则b[j] = max(a[j] + b[j-1] , a[j]) ,而我们的所求的答案,就是从1-n对b数组求最大值,并保留最大值。

示例代码:

View Code
 1 #include <iostream>
 2 using namespace std;
 3 
 4 void  main()
 5 {
 6     int a[10] = {-4 , 3 ,56 , -15 , 34 , 0 , -14 , 4};
 7     int b[10];
 8     b[0] = a[0];
 9     int max ;
10     if(a[0] >0)
11         max= a[0];
12     else
13         max = 0;
14     for(int i=1;i<10;i++)
15     {
16         b[i] = (b[i-1] + a[i]) > a[i]  ? (b[i-1] + a[i]) : a[i];
17         if(max < b[i]) max = b[i];
18     }
19     cout << max << endl;
20     
21     // 如果想保留子串的开始、结束位置,只需要在求b[i]用另外的变量保留位置就可以了.
22 }

输出:78

转载于:https://www.cnblogs.com/xuxu8511/archive/2012/04/09/2438708.html


http://www.niftyadmin.cn/n/4819031.html

相关文章

SEO中巧用个人博客优化关键字

草根皆知&#xff0c;SEO中关键字外链优化是很重要的一部分&#xff0c;增加外链的方法也有很多种&#xff0c;最常用的有论坛、博客发布链接;许多站长对此是深恶痛绝&#xff0c;删贴、封ID绝不手软&#xff0c;外链往往无法长久。 因为急需提高网站关键词的权重&#xff0c;因…

(virus) 该死的病毒

今天打开ie浏览网站就发现&#xff0c;很多流行的网站都访问不了要么就是一直停滞不前&#xff0c;并且不断抱错说是访问某个网站的jpg含有ani病毒&#xff0c;可是我并没有访问这个网站&#xff0c;查询了下网络&#xff0c;似乎很多人都遇到了这样的问题&#xff0c;这个应该…

baidu luaplus luabind

luaplus介绍LuaPlus: 好用的Lua For C扩展 - 沐枫小筑(C) - C...LuaPlus是Lua的C增强,也就是说,LuaPlus本身就是在Lua的源码上进行增强得来的。用它与C进行合作,是比较好的一个选择。 LuaPlus目前版本为:LuaPlus for Lua 5.01 Distribution Build 1080 (February 28, 2004)。大…

关于三极管的应用

关于三极管的应用&#xff0c;摘自网络。 https://blog.csdn.net/u014453443/article/details/81117745 https://www.sohu.com/a/255293365_486207 https://baijiahao.baidu.com/s?id1606014850652442161&wfrspider&forpc 转载于:https://www.cnblogs.com/whylinux/…

你用哪一套script 語言呢

你用哪一套script 語言呢 更改我的閱讀文章字型大小大 小 作者 : alexyz(Alex) [ 貼文 110 | 人氣 6961 | 評價 35 ] [ 回應本文 ] [ 發表新文 ] [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ] 12/23/2005 11:53:40 AM Hi, 現在似乎愈來愈多遊戲都會包含一個script en…

【ABAP系列】SAP ALV 导出报表数据 始终使用选定的格式”,一旦勾上,就再也不会弹出选择框了。...

公众号&#xff1a;SAP Technical本文作者&#xff1a;matinal原文出处&#xff1a;http://www.cnblogs.com/SAPmatinal/ 原文链接&#xff1a;【ABAP系列】SAP ALV 导出报表数据 始终使用选定的格式”&#xff0c;一旦勾上&#xff0c;就再也不会弹出选择框了。前言部分 大家可…

由于应用程序配置不正确,程序未能启动”--原因及解决方法

由于应用程序配置不正确,程序未能启动”&#xff0d;&#xff0d;原因及解决方法 http://moogge.spaces.live.com/blog/cns!ab9b00d806d52aed!245.entry问题描述&#xff1a;当运行由VC 2005 编译的程序时&#xff0c;出现错误消息“由于应用程序配置不正确,程序未能启动.重新安…

对于Linux中文件描述符的疑问以及解决

问题 ​ 每次web服务器或者是几乎所有Linux服务器都需要对文件描述符进行调整,我使用ulimit -n来查看当前用户的最多能打开的文件,默认设置的是1024个,但是系统运行起来以及开启一些简单的服务使用lsof | wc -l查看到系统已经打开几万个文件了,疑问来了,文件描述符的限制为什么…