博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
返回一个一维数组环中的数相加的最大的和
阅读量:5320 次
发布时间:2019-06-14

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

项目成员:姜中希、王昭博。

1.设计思想:

(1)       外层while循环控制结束(i=n)的时候停止。

(2)       内层计算:按照不循环数组的方式计算,每当外层i增加1,数组更新,第i-1个数变为数组的第n个数,

第i个数变为数组的第一个数,并进行最大子数组的和的求解。并将最大子数组的开头位置坐标记录入一个数组中,

每次计算的最大和也存入一个数组中,最后进行比较得到最大和以及和最大子的数组的开头位置坐标。

2.实现代码:

//2015/4/4#include
using namespace std;void max(int l,int *a)//当元素不全为负数的情况{ int sum=0,j,p; for(int m=0;m
0) { flag=i; break; } } for(int i=j;i>=flag;i--)//从最后元素一个往前找寻找范围是l结果是从j到j-l+1范围内最大子数组的所有元素的下标 { if(p<0) { p=a[i]; } else { p=p+a[i]; cout<
<<" "; } if(sum
>n; int *a=new int[2*n];//申请一个动态数组数组的长度为2n cout<<"请输入数组元素:"; for(int i=0;i
>a[i]; if(a[i]<0) { count++; } } if(count==n)//当数组元素全是负数的情况只需比较单个元素的大小并记下坐标 { mx=a[0]; int c=0; for(int i=1;i
mx) { mx=a[i]; c=i; } } cout<<"最大子数组的和为:"<
<

 

3.结果截图:

心得总结:

在这次结对开发过程中,我发现虽然我能尽快的找到一些思路,但是我的转化能力欠缺了一些,不能很好的将思路转化为代码;这也让我意识到团队的力量,团队的力量可以让进程更加快速(虽然我也知道这需要互相配合得很好)。每个人都有自己擅长的一方面,我听过一句话,“世界上没有最完美的人,但世界上有完美的团队。”所以我会努力发展自己的长处(尽管我还没找到),在团队里发挥自己的作用。

转载于:https://www.cnblogs.com/yuntianblog/p/4429033.html

你可能感兴趣的文章
【Crash Course Psychology】2. Research & Experimentation笔记
查看>>
两数和
查看>>
移动设备和SharePoint 2013 - 第3部分:推送通知
查看>>
SOPC Builder中SystemID
查看>>
MySQL数据库备份工具mysqldump的使用(转)
查看>>
NTP服务器配置
查看>>
【转】OO无双的blocking/non-blocking执行时刻
查看>>
关于 linux 的 limit 的设置
查看>>
HDU(4528),BFS,2013腾讯编程马拉松初赛第五场(3月25日)
查看>>
vim中文帮助教程
查看>>
MySQL基础3
查看>>
RxJS & Angular
查看>>
面向对象(多异常的声明与处理)
查看>>
MTK笔记
查看>>
ERROR: duplicate key value violates unique constraint "xxx"
查看>>
激活office 365 的启动文件
查看>>
无法根据中文查找
查看>>
[简讯]phpMyAdmin项目已迁移至GitHub
查看>>
转载 python多重继承C3算法
查看>>
【题解】 bzoj1597: [Usaco2008 Mar]土地购买 (动态规划+斜率优化)
查看>>