返回一个一维整数数组中最大子数组的和
设计思想:在原来最大数组的基础之上,将数组先扩展为原来的两倍就是将原来的数组复制然后连接到后面。再进行输入数字个数次循环,每次循环都扫描起点后输入数字个数个数字。计算数组和,并不断更新最大数组合
程序源代码:
package test;import java.util.Scanner;public class Test {public static void main(String[] args){Scanner in=new Scanner(System.in);System.out.print("请输入数组长度:");int l=in.nextInt();//用户输入数组长度int[] shuzu =new int [l*2];int number_hezuidazhi=0;System.out.println("请依次输入数字");for(int i=0;i<l;i++){shuzu[i]=in.nextInt();shuzu[i+l]=shuzu[i];}int number_he=shuzu[0];for(int m=0;m<l;m++)//进行输入数字个数次循环 { for(int n=m;n<m+l;n++)//每次向后扫描输入数字个数的数字 {number_he = number_he + shuzu[n];if(number_hezuidazhi<number_he)//如果数组和大于最大数组和,则更新 {number_hezuidazhi=number_he;}if(number_he<0)//如果数组和为小于零,那么抛弃从零开始 {number_he=0;}}number_he = 0;//一次循环更新一次数组和 }System.out.println("最大数组和为"+ number_hezuidazhi);in.close();}}
结果截图:
结果分析:输入-1 2 3 -4 6
那么在这个首尾相连的数组中,应该是抛弃-4其他所有数字组成的集合最大。
程序中将数组变为-1 2 3 -4 6 -1 2 3 -4 6
第一次扫描(-1 2 3 -4 6 )-1 2 3 -4 6
第二次扫描 -1 (2 3 -4 6 -1) 2 3 -4 6
。。。。
每次都是上次最大数组的算法
总结:程序时间复杂度变成O(n*n);没有办法一次实现,就将数组变化进行多次遍历。
转载于:https://www.cnblogs.com/sisi-job/p/5380062.html
返回一个一维整数数组中最大子数组的和相关推荐
- 结对开发——返回一个整数数组中最大子数组的和 (首尾相接版)
一.题目及题目要求 题目:返回一个整数数组中最大子数组的和. 要求: (1)输入一个整形数组,数组里有正数也有负数. (2)数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. (3)如果 ...
- 返回一个二维整数数组中最大子数组的和(二人结对)
题目:返回一个二维整数数组中最大子数组的和 要求:1.输入一个二维整型数组,数组里有正数也有负数. 2.二维数组中连续的一个子矩阵组成一个子数组,每个子数组都有一个和. 3.求所有子数组的和的最大值. ...
- 返回一个整数数组中最大子数组的和---环形数组
一.题目要求 题目:返回一个整数数组中最大子数组的和. 要求: 输入一个整形数组,数组里有正数也有负数. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 如果数组A[0]--A[j- ...
- 返回一个首尾相接的二维整数数组中最大子数组的和
题目: ·返回一个二维整数数组中最大子数组的和. 要求: ·输入一个二维整形数组,数组里有正数也有负数. ·二维数组首尾相接,象个一条首尾相接带子一样. ·数组中连续的一个或多个整数组成一个子数组,每 ...
- 软件工程结对开发——返回一个整数数组中最大子数组的和(JAVA)
题目:返回一个整数数组中最大子数组的和. 要求: 输入一个整型数组,数组里有正数也有负数: 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和: 求所有子数组的和的最大值.要求时间复杂度为 ...
- 返回一个整数数组中最大子数组的和。
一.要求: (1)输入一个整形数组,数组里有正数也有负数. (2)数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. (3)如果数组A[0]--A[j-1]首尾相邻,允许A[i-1],. ...
- 课堂练习:返回一个二维数组中最大子数组的和
1.题目: 返回一个二维数组中最大子数组的和. 2.要求: 输入一个二维整形数组,数组里有正数也有负数. 二维数组首尾相接,象个一条首尾相接带子一样. 数组中连续的一个或多个整数组成一个子数组,每个子 ...
- 返回一个循环数组中最大子数组的和
设计思路 首先利用rand()函数随机产生一个一维数组,数组长度通过宏定义来控制.求首尾连接的一维数组的最大子数组的和我的思路是:循环N次(N是数组的长度)依次检测数组的最大子数组的和再比较大小,保留 ...
- 求二维整数数组中最大子数组的和(结对作业)
题目:返回一个二维整数数组中最大子数组的和 要求:(1)输入一个二维整形数组,数组里有正数也有负数. (2)二维数组中连续的一个子矩阵组成一个子数组,每个子数组都有一个和. (3)求所有子数组的和最大 ...
- 整数数组中最大子数组求和02
设计思路: 在"整数数组中最大子数组求和01"的基础上完成本次实验. 本次实验的关键在于如何判断结束. 经设计,程序结束条件有两种:1.截取部分有重复:2.循环完整两次. 满足其中 ...
最新文章
- 如何使用Next.js创建动态的Rick and Morty Wiki Web App
- 快手Java一面,二面社招合并面经分享
- Hadoop centos 6.5 配置
- 微信公众平台消息接口API指南
- oracle:平均分大于78的女同学的学号、姓名、平均分
- c语言会员卡管理系统,路西牌会员管理系统。
- 毕业设计上线啦!----跳蚤部落与基于Comet的WebIM系统开发
- opencv 轮廓检测
- 【微信小程序】【云开发】【从零开发】【零成本】翻译小程序 —《阿怼翻译》0.0.1版本(有教程视频和源码)
- 【ICCV2019论文阅读】PU-GAN:点云上采样对抗网络
- 九宫格一共有多少种解法
- 联想IBM ThinkPad 笔记本BIOS设置手册
- Let's go to the EX
- 年终盘点 | 用Python分析了上千个基金,终于发现了赚钱的秘密!
- 让我们旋转跳跃不停歇~~~当3D打印遇上八音盒!(二)
- Python实现带不等式约束的NSGAII算法解决cec2021中的RCM01问题
- centos使用7za压缩文件
- 再度公开少林内修心法(易筋经和洗髓经)欢迎转载,让全人类共享学习,过得更健康!
- 解决Tuxera试用过期重装问题
- 友声电子秤设置软件_友声电子秤操作方法盘点