当前位置: 首页 > news >正文

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

1、题目:

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

2、要求:

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

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

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

3.开发过程及思路:

    我的搭档是丁官甲,刚开始我们两个想的都比较简单而且比较统一,只是想用一个for循环来输出每组的和,在用一个比较的函数来求出最大值。但是我们的想法太简单,后来经过我们两人的商讨,决定用循环的嵌套来实现每一组数值的求和。在比较函数中我们俩也出现了分歧,一开始他想把比较函数放在循环中,temp的值每次定义也放在里边,结果总是输出单个值。最后我们把temp 的初值定义在了主函数前边,实现了程序的正常运行。

4.程序代码:

#include<iostream.h> 

int main()
{
int a[10];
int m; //m是每组个数
int *sum=new int[10];
cout<<"请输入数组:"<<endl;
cout<<"*********************************"<<endl;
for(int i=0;i<10;i++)
{
cin>>a[i];
}
cout<<"*********************************"<<endl;
cout<<"请输入每组个数:"<<endl;
cin>>m;
cout<<"*********************************"<<endl;
int temp=0;
for(int n=0;n<m;n++)
{
temp=temp+a[n];
}
for(int k=0;k<=(10-m);k++)
{
sum[k]=0;
for(int j=k;j<(k+m);j++)
//a[k]是每组第一个数
{
sum[k]=sum[k]+a[j];
}
if(sum[k]>temp)
{
temp=sum[k];
}
}
cout<<"最大和为: "<<temp<<endl;
cout<<"*********************************"<<endl;
return 0;
}

5.运行结果截图:

6.感想:

    两个人结组开发,在思路上能够互相借鉴,有个人进行讨论也能加快程序的编写速度。最让我感受深刻的就是有的时候自己一个人编程没有特别大的动力和积极性,遇到一个困难总是调不出来的话就容易失去信心而放弃。两个人一起来完成这个项目的话,调动了我的积极性,总是觉得不能在集体里不干活,两个人一起来解决一个问题,思路也会很活跃,很专心。所以能在很少的时间里完成这个程序。 

7.合照:

转载于:https://www.cnblogs.com/wulun/p/5323347.html

相关文章:

  • 魔兽登录系统
  • 任务栏托盘不消失的问题-有启示
  • OAuth2 基于TP 搭建简单案例
  • __OSX_AVAILABLE_STARTING
  • simpson公式求定积分
  • hdu 1166 敌兵布阵(线段树详解)
  • java获取获得Timestamp类型的当前系统时间。
  • 在SQLServer使用触发器实现数据完整性
  • 软件测试学习日志3 ————软件测试作业之控制流图
  • 【bzoj1046】[HAOI2007]上升序列
  • 关于网站优化
  • 全球78707个主要城市数据库,包含经纬度坐标值、国家、省份
  • java 二进制数字符串转换工具类
  • 逻辑数据库设计 - 单纯的树(递归关系数据)
  • web storage 之留言板
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • Apache Spark Streaming 使用实例
  • canvas 高仿 Apple Watch 表盘
  • classpath对获取配置文件的影响
  • ES2017异步函数现已正式可用
  • express.js的介绍及使用
  • Hibernate最全面试题
  • Java 最常见的 200+ 面试题:面试必备
  • JavaScript-Array类型
  • MD5加密原理解析及OC版原理实现
  • Promise初体验
  • Python_网络编程
  • quasar-framework cnodejs社区
  • SQL 难点解决:记录的引用
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • ------- 计算机网络基础
  • 前端面试题总结
  • 用jquery写贪吃蛇
  • 自定义函数
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • Mac 上flink的安装与启动
  • Semaphore
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 移动端高清、多屏适配方案
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • ( 10 )MySQL中的外键
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (3)(3.5) 遥测无线电区域条例
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (C语言)球球大作战
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (一)基于IDEA的JAVA基础12
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (转)创业的注意事项