博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
返回一个首尾相连的整数数组中最大子数组的和数
阅读量:6817 次
发布时间:2019-06-26

本文共 1428 字,大约阅读时间需要 4 分钟。

设计思路: 只要找到从A[0]开始和最大的一段(A[0]…..A[j])(0 <= j < n) 以及以A[n-1]结尾的和最大的一段(A[i]…..A[n-1])(0 <= i < n) 该种情况的最大值为A[i]+…..+A[n-1]+A[0]+….+A[j] 如果i <= j 则最大值为A[0]+…..+A[n-1](数组元素全为正则返回0)否则最大值为A[i]+…..+A[n-1]+A[0]+….+A[j] 最后,取两种情况的最大值就可以了 通俗来说就是先从数组的第一位找到最后一位求出最大的子数组的和,然后再从最后一位向前找和是最大的值再加上第一位向后的所有正数。 #include
#include
using namespace std;int a[100010];int main() { int n; while(scanf("%d",&n)!=-1) { int w=0; for(int i=0;i
=0) { sum+=a[i]; } if(sum<0) { sum=0; } if(sum>sum1) { sum1=sum; } } int sum2=0,sum3=a[0]; for(int i=0;i
0) { sum2=0; } if(sum2

 实验总结:

        和上课时候讲的一样,找到思路是关键,思路找到之后剩下的代码都是比较好写的了,通过这几次课的练习我在思路方面比以前有了很大的进步,

以前不会写的程序和看不懂的程序,现在已经能理解一部分了,我相信通过以后的学习我会越来越好的。

 

程序截图:

结对:id 雷焱(*宇)

 

转载于:https://www.cnblogs.com/av-7845/p/9904345.html

你可能感兴趣的文章
Android实例-监测网络状态及一些事件(XE8+小米2)
查看>>
HDU 4686 Arc of Dream(递归矩阵加速)
查看>>
Apache 配置 Basic 认证
查看>>
使用 XML 实现 REST 式的 SOA
查看>>
SQL Server 日志收缩
查看>>
High accuracy voltage regulator
查看>>
directory not found for option
查看>>
【转载】菜鸟Ubuntu下安装Android Studio
查看>>
三阶魔方中心块调整配方和记忆方法
查看>>
Android Studio 快捷键整理分享
查看>>
Android Studio安装、配置
查看>>
SAP FI 财务模块 关键用户 考试练习 问卷
查看>>
Unity3D之Mecanim动画系统学习笔记(八):Animator Layers(动画分层)
查看>>
PIC24FJ64GB002 with bluetooth USB dongle
查看>>
C# ZPL II 命令打印标签
查看>>
代码面试之广义表
查看>>
hdu1754 I hate it线段树模板 区间最值查询
查看>>
【python】抄写大神的糗事百科代码
查看>>
序列化和反序列化
查看>>
android-studio 安装gradle
查看>>