求环形数组的最大子数组的和
1.设计思路:
(1).先定义一个求最大值的函数,然后在子程序中调用它。
(2).实现数组转换,每进行一次循环,(循环次数不能超出数组长度)数组里的数就前进一位,然后赋值给一个新数组。
(3).求数组中所有子数组的和,再比较得出最大值。
2.程序代码
#include<iostream>
using namespace std;
int main()
{
int A[100], B[100], C[100];
int max(int A, int B);
int length = 0;
int sumOfArray;
int sum = 0;
cout << "请输入数组:"<<endl;
for (length = 0;;)
{
cin >> A[length];
length++;
if (getchar() == '\n')
{
break;
}
}
for (int i = 0; i < length; i++)
{
for (int j = 0; j < length; j++)
{
if ((i + j) > (length-1))
{
B[j] = A[i + j - length];
}
else
{
B[j] = A[j + i];
}
}
sumOfArray = B[0];
for (int k = 1; k < length; k++)
{
sum = max(sum, sumOfArray);
sumOfArray = max((sumOfArray + B[k]), B[k]);
}
sumOfArray = max(sum, sumOfArray);
C[i] = sumOfArray;
}
int maxNum = C[0];
for (i = 0; i < length; i++)
{
if (C[i] > maxNum)
{
maxNum = C[i];
}
}
cout << "这个循环整数数组的子数组之和的最大值为:" << maxNum << endl;
return 0;
}
int max(int A, int B)
{
if (A > B)
{
return A;
}
else
{
return B;
}
}
3.运行结果:
转载于:https://www.cnblogs.com/gaoemm/p/9954331.html
求环形数组的最大子数组的和相关推荐
- 返回一个整数数组中最大子数组的和---环形数组
一.题目要求 题目:返回一个整数数组中最大子数组的和. 要求: 输入一个整形数组,数组里有正数也有负数. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 如果数组A[0]--A[j- ...
- 求二维数组中最大子数组的和
任国庆 张博 之前我们讨论了在一维数组中求最大子数组的和,在此基础上我们开始讨论二维数组的最大子数组. 求二维数组的最大子数组思想是建立在以为数组.首先将数组的第一列看成一个一维数组,找到该列的最大 ...
- 结对开发2(求二维数组的最大子数组和)
一,题目要求: 输入一个二维数组,求出此二维数组的最大子数组和. 二,设计思路: 利用for循环进行遍历,求出数组中每一个子数组的和,最终求出这些子数组的最大的一个值.程序中利用了调用函数,被调函数分 ...
- [经典面试题][淘宝]求首尾相连数组的最大子数组和
题目 给定一个由N个整数元素组成的数组arr,数组中有正数也有负数,这个数组不是一般的数组,其首尾是相连的.数组中一个或多个连续元素可以组成一个子数组,其中存在这样的子数组arr[i],-arr[n- ...
- 求二维整数数组中最大子数组的和(结对作业)
题目:返回一个二维整数数组中最大子数组的和 要求:(1)输入一个二维整形数组,数组里有正数也有负数. (2)二维数组中连续的一个子矩阵组成一个子数组,每个子数组都有一个和. (3)求所有子数组的和最大 ...
- 求一个有一千个元素的整数数组的最大子数组的和
求一个有一千个元素的整数数组的最大子数组的和 小组成员:司宇,滕达 设计过程: 设计界面: 在c#界面添加一些控件. 程序设计: 1.使用for循环和取随机数的函数产生一千个随机数并且将其赋值到数组中 ...
- 课堂练习:返回一个二维数组中最大子数组的和
1.题目: 返回一个二维数组中最大子数组的和. 2.要求: 输入一个二维整形数组,数组里有正数也有负数. 二维数组首尾相接,象个一条首尾相接带子一样. 数组中连续的一个或多个整数组成一个子数组,每个子 ...
- 结对开发——返回一个整数数组中最大子数组的和 (首尾相接版)
一.题目及题目要求 题目:返回一个整数数组中最大子数组的和. 要求: (1)输入一个整形数组,数组里有正数也有负数. (2)数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. (3)如果 ...
- 返回一个首尾相接的二维整数数组中最大子数组的和
题目: ·返回一个二维整数数组中最大子数组的和. 要求: ·输入一个二维整形数组,数组里有正数也有负数. ·二维数组首尾相接,象个一条首尾相接带子一样. ·数组中连续的一个或多个整数组成一个子数组,每 ...
- 返回一个循环数组中最大子数组的和
设计思路 首先利用rand()函数随机产生一个一维数组,数组长度通过宏定义来控制.求首尾连接的一维数组的最大子数组的和我的思路是:循环N次(N是数组的长度)依次检测数组的最大子数组的和再比较大小,保留 ...
最新文章
- AI伪装目标检测:让变色龙现出原形!
- oracle时间格式要注意的问题
- Fluentd初探 简介与安装
- aliplayer 手机全屏控件不显示_Flutter 强大的MediaQuery控件
- C经典面试题之深入解析 字符串拷贝的 sprintf、strcpy和memcpy使用与区别
- stm32f4有重映射么_STM32管教复用与重映射关系
- nltk——文本分类
- C# try-catch-finally 语句异常的类型
- android系统启动自动启动不了,怎么在android系统开机就运行某个应用
- 基于WiEngine游戏引擎的Sample
- 音视频入门系列-字幕篇(SSA ASS)
- TCPDF微软雅黑字体
- 英语测试用什么软件有哪些,学习英语的软件哪个好 什么比较好用
- 地铁工程安全生产预警系统价格
- 计算机主机开机为什么显示器不开,电脑开机后显示器不亮怎么办?电脑开机后显示器没反应的解决办法...
- 计算机图形学学习笔记(4.1)画线算法
- BAT薪资大揭底:AI程序员80万太少!程序员薪资的天花板在哪?
- 平面设计中的网格系统pdf_实例讲解:平面设计中的网格系统,怎么用?
- 深圳宝安周边公司出行团建户外一日游
- java简易计算机(用栈实现中缀转后缀,计算后缀表达式)