设计思想:在原来最大数组的基础之上,将数组先扩展为原来的两倍就是将原来的数组复制然后连接到后面。再进行输入数字个数次循环,每次循环都扫描起点后输入数字个数个数字。计算数组和,并不断更新最大数组合

程序源代码:

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. 结对开发——返回一个整数数组中最大子数组的和 (首尾相接版)

    一.题目及题目要求 题目:返回一个整数数组中最大子数组的和. 要求: (1)输入一个整形数组,数组里有正数也有负数. (2)数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. (3)如果 ...

  2. 返回一个二维整数数组中最大子数组的和(二人结对)

    题目:返回一个二维整数数组中最大子数组的和 要求:1.输入一个二维整型数组,数组里有正数也有负数. 2.二维数组中连续的一个子矩阵组成一个子数组,每个子数组都有一个和. 3.求所有子数组的和的最大值. ...

  3. 返回一个整数数组中最大子数组的和---环形数组

    一.题目要求 题目:返回一个整数数组中最大子数组的和. 要求: 输入一个整形数组,数组里有正数也有负数. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 如果数组A[0]--A[j- ...

  4. 返回一个首尾相接的二维整数数组中最大子数组的和

    题目: ·返回一个二维整数数组中最大子数组的和. 要求: ·输入一个二维整形数组,数组里有正数也有负数. ·二维数组首尾相接,象个一条首尾相接带子一样. ·数组中连续的一个或多个整数组成一个子数组,每 ...

  5. 软件工程结对开发——返回一个整数数组中最大子数组的和(JAVA)

    题目:返回一个整数数组中最大子数组的和. 要求: 输入一个整型数组,数组里有正数也有负数: 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和: 求所有子数组的和的最大值.要求时间复杂度为 ...

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

    一.要求: (1)输入一个整形数组,数组里有正数也有负数. (2)数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. (3)如果数组A[0]--A[j-1]首尾相邻,允许A[i-1],. ...

  7. 课堂练习:返回一个二维数组中最大子数组的和

    1.题目: 返回一个二维数组中最大子数组的和. 2.要求: 输入一个二维整形数组,数组里有正数也有负数. 二维数组首尾相接,象个一条首尾相接带子一样. 数组中连续的一个或多个整数组成一个子数组,每个子 ...

  8. 返回一个循环数组中最大子数组的和

    设计思路 首先利用rand()函数随机产生一个一维数组,数组长度通过宏定义来控制.求首尾连接的一维数组的最大子数组的和我的思路是:循环N次(N是数组的长度)依次检测数组的最大子数组的和再比较大小,保留 ...

  9. 求二维整数数组中最大子数组的和(结对作业)

    题目:返回一个二维整数数组中最大子数组的和 要求:(1)输入一个二维整形数组,数组里有正数也有负数. (2)二维数组中连续的一个子矩阵组成一个子数组,每个子数组都有一个和. (3)求所有子数组的和最大 ...

  10. 整数数组中最大子数组求和02

    设计思路: 在"整数数组中最大子数组求和01"的基础上完成本次实验. 本次实验的关键在于如何判断结束. 经设计,程序结束条件有两种:1.截取部分有重复:2.循环完整两次. 满足其中 ...

最新文章

  1. 如何使用Next.js创建动态的Rick and Morty Wiki Web App
  2. 快手Java一面,二面社招合并面经分享
  3. Hadoop centos 6.5 配置
  4. 微信公众平台消息接口API指南
  5. oracle:平均分大于78的女同学的学号、姓名、平均分
  6. c语言会员卡管理系统,路西牌会员管理系统。
  7. 毕业设计上线啦!----跳蚤部落与基于Comet的WebIM系统开发
  8. opencv 轮廓检测
  9. 【微信小程序】【云开发】【从零开发】【零成本】翻译小程序 —《阿怼翻译》0.0.1版本(有教程视频和源码)
  10. 【ICCV2019论文阅读】PU-GAN:点云上采样对抗网络
  11. 九宫格一共有多少种解法
  12. 联想IBM ThinkPad 笔记本BIOS设置手册
  13. Let's go to the EX
  14. 年终盘点 | 用Python分析了上千个基金,终于发现了赚钱的秘密!
  15. 让我们旋转跳跃不停歇~~~当3D打印遇上八音盒!(二)
  16. Python实现带不等式约束的NSGAII算法解决cec2021中的RCM01问题
  17. centos使用7za压缩文件
  18. 再度公开少林内修心法(易筋经和洗髓经)欢迎转载,让全人类共享学习,过得更健康!
  19. 解决Tuxera试用过期重装问题
  20. 友声电子秤设置软件_友声电子秤操作方法盘点

热门文章

  1. [HNOI2011]数学作业
  2. collections模块的Counter类
  3. shell 中${b-2} and ${b:-2}
  4. 修改的梅花雪的日期控件。。只是一些小改动
  5. Oracle Merge into
  6. 软件测试工程师-开发与测试模型
  7. 知识图谱开源社区_您需要了解的关于开源社区中的倦怠的知识
  8. tidb时间转字符串_如何使用TiDB节省时间
  9. (45)npm全局安装包的位置
  10. Bootstrap列表组支持的组件