博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
结队开发5----首尾相连数组
阅读量:6190 次
发布时间:2019-06-21

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

结队成员:范德一,赵永恒

一.题目

返回一个整数数组中最大子数组的和。

要求:

输入一个整形数组,数组里有正数也有负数。

数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。

如果数组A[0]……A[j-1]首尾相邻,允许A[i-1], …… A[n-1], A[0]……A[j-1]之和最大。

同时返回最大子数组的位置。

求所有子数组的和的最大值。要求时间复杂度为O(n)

二.设计思路

我们在上次实验的基础上,通过在原有的循环体的最外边再添加了一个循环条件,这个循环条件是在第一次循环之后,将数组中每个数的值赋给它前面一个数,这样在最后一次循环的时候就实现了首尾相连。

三.实验代码

#include
#include
#include
int main(){ int a[10]; int m; //m是每组个数 int *sum=new int[10]; srand((unsigned)time(NULL)); cout<<"*********************************"<
temp) { temp=sum[k]; } } if(temp>he) { he=temp; } } int temp1=0; temp1=a[0]; a[0]=a[1]; a[1]=a[2]; a[2]=a[3]; a[3]=a[4]; a[4]=a[5]; a[5]=a[6]; a[6]=a[7]; a[7]=a[8]; a[8]=a[9]; a[9]=temp1;} cout<<"最大子数组的和为: "<
<

四.运行截图

五.实验感想

关于数组的实验这已经是第四次进行扩展了,现在回想一下,每一次的实验都有一个上一次的基础,第一次实验比较简单,我们也很容易就做了出来,然后在这个第一次实验的基础上,我们一次又一次的加深难度,逐步实现了不同的功能;倘若我们第一次实验的内容就是这样的话,我们肯定不会这么容易完成,这让我再一次体会到了把大目标分解成小目标的好处。

转载于:https://www.cnblogs.com/myblog1993/p/4378391.html

你可能感兴趣的文章
REDIS中加锁和解锁问题
查看>>
看板管理大型项目-6.跟踪总体目标
查看>>
html入门(详细描述)2
查看>>
《舰在亚丁湾》 “海军特战队”央视电视剧起航
查看>>
软中断和tasklet
查看>>
Delphi 集合和字符串互转
查看>>
华农js抢课神器
查看>>
git
查看>>
Spring MVC3.0.5搭建全程
查看>>
(四) Session管理 --《springboot与shiro整合》
查看>>
程序员的思维修炼7——积累经验
查看>>
团队项目:VS2013和SQL Server2012的连接使用
查看>>
Spring之AOP
查看>>
poj Buy Tickets
查看>>
win10 安装 framework3.5
查看>>
load与DOMContentLoaded
查看>>
zend7 常用快捷键
查看>>
方法的调用
查看>>
U盘安装CentOS
查看>>
AI佳作解读系列(二)——目标检测AI算法集杂谈:R-CNN,faster R-CNN,yolo,SSD,yoloV2,yoloV3...
查看>>