要求:
   输入一个一维整形数组,数组里有正数也有负数。
   一维数组首尾相接,象个一条首尾相接带子一样。
   数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。                         求所有子数组的和的最大值。

设计思想:

  1 设传参的数组长为n,创建长度为2n的辅助数组,按顺序赋两遍值

  2 每一个以 i 开头的子数组有 n 个,也就是从 第 i 个到 n+i (i<=n)

  3 将得到的子数组求和并存起来,判断和数组中的最大值即可。

源代码:

import java.util.Vector;

public class MaxListNumber {
 public static int maxList(int []num) {
  int max=-99;
  int len=num.length;
  if(len<=0) {
   System.out.println("数组为空。");
  }
  else {
  Vector<Integer> numx=new Vector<>();
  int[]number=new int[2*len];
  for(int i=0;i<len;i++) {
   
   number[i]=num[i];
   System.out.println("数组元素:"+num[i]);
   number[len+i]=num[i];
  }
  for(int i=0;i<len;i++) {
   int temp;
   int sum=0;
   int count=0;
   for(int k=i;k<number.length;k++) {
    if(count>=len)
     break;
    temp=number[k];
    sum=sum+temp;
    numx.add(sum);
    count++;
   }
  }
  max=numx.get(0);
  for(int i=0;i<numx.size();i++) {
   if(max<numx.get(i)) {
    max=numx.get(i);
   }
  }
  }
  return max;
 }
 public static int maxList(int [][]num) {
  int max=num[0][0];
  for(int i=0;i<5;i++) {
   
  }
  return 0;
  
 }
 public static void main(String args[]) {

int []number=new int[6];
  for(int i=0;i<6;i++) {
   number[i]=(int) (Math.random()*10-5);
  }
  int max=maxList(number);
  System.out.println("最大子数组的和:"+max);
 }
}

结果截图

  

总结:

  以消耗空间来提高时间效率(降低时间复杂度)

转载于:https://www.cnblogs.com/liushiqiang123/p/8349786.html

08返回一个整数数组中最大子数组的和相关推荐

  1. 软工 课堂作业:选出一个整数组中最大子数组

    项目计划日志       10.6 看ppt,熟悉内容.       10.6下午,开始编程调试.       10.7 运行调试,写博客.                   时间记录日志 日期 开 ...

  2. 结对开发——返回一个整数数组中最大子数组的和 (首尾相接版)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. PHP的优点和缺点分别是什么,CSS的优点和缺点分别是什么
  2. centos 7 文档服务器,centos 7 web服务器
  3. [WinApi]邮槽通信C/S实例
  4. C和指针之预处理器之普通c/c++文件的编译过程
  5. windows安装TortoiseGit
  6. 节点主动可信监控机制
  7. 奔跑吧,骏马!——跑步类动画设计动态分析
  8. 华为matepadpro可以用云电脑吗_放弃台式机,改用华为云电脑,再手机投屏到显示器,这样可行吗?...
  9. 华中科技大学计算机作业试题,华中科技大学2009大学计算机基础考试试题A
  10. arcgis语言如何中文改英文_值得收藏|不重装软件实现ArcGIS中英文版本之间切换...
  11. Java 面试真题 【继承静态代码块执行时机】
  12. pos方式下载文件,解决url参数过长问题
  13. 全面解析Linux 内核 3.10.x - Device Tree 详解
  14. Chrome 浏览器翻译停服!改Hosts也失效!还有这些解决方案
  15. halcon一维码识别
  16. Hadoop下载地址大全
  17. Android应用常用的加密方式
  18. 2019年云架构和云计算趋势如何?|中机智库干货
  19. Win8的Metro界面
  20. 8-14。个人发牢骚记录

热门文章

  1. 个人空间html5主页面,2.HTML 教程- (HTML5 简介)
  2. 时分多路复用(Time Division Multiplexing,TDM)
  3. linux jenkins自动部署,【linux】【jenkins】自动化部署一 安装jenkins
  4. Hbase Region拆分入门
  5. node + express + sockio 在线聊天室
  6. Hadoop基础教程》之初识Hadoop【转】
  7. [ 1003 ] 判断小偷那些事
  8. 第三个Sprint冲刺第十天
  9. 铵钮提交事件PostBack之后,一些动态加载的物件丢失
  10. contentType,charset和pageEncoding的区别