博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
整数子数组求最大和添加验证
阅读量:4349 次
发布时间:2019-06-07

本文共 1663 字,大约阅读时间需要 5 分钟。

实验要求:

要求程序必须能处理1000个元素

每个元素是int32类型的,出现子数组之和大于整形表示的最大范围会出现什么情况

设计思路:

首先进行数组的溢出处理,从小向大开始验证,直到程序处理时间较长。

然后进行程序所支持的最大整数测试,因为结果或过程中所出现的最大数是无法预测的,所以只需确定最大的随机数范围。

测试结果:

100个数据:

 

 

200个数据:

 

500个数据:

 

1000个数据:

 

99999999999999999

 

 

9999999999999999999

 

 

package 子数组更改;

 

import java.util.Scanner;

 

public class zsz {

 

/**

 * @param args

 */

public static void main(String[] args) {

// TODO Auto-generated method stub

 

Scanner A=new Scanner(System.in);

System.out.println("请输入数组长度:");

int n=A.nextInt();

 

System.out.println("请输入数组数值范围:");

int N=A.nextInt();

int M=A.nextInt();

int a[]=new int[n];

int b[][]=new int[n][n];

 

int i;

System.out.println("数组为:");

for(i=0;i<n;i++)

{

a[i]=N+(int)(Math.random()*(M-N));

System.out.print(a[i]+"\t");

}

System.out.println();

 

int j,k=n,t;

for(i=0;i<n;i++)

{

for(j=0;j<k;j++)

{

for(t=j;t<j+i+1;t++)

{

b[i][j]+=a[t];

}

}

k--;

}

 

System.out.println("各子数组大小:");

for(i=0;i<n;i++){

for(j=0;j<n;j++){

System.out.print(b[i][j]+"\t");

}

System.out.println();

}

 

int p=b[0][0];

int q=0,r=0;

for(i=0;i<n;i++)

{

for(j=0;j<n-i;j++)

{

if(p<b[i][j])

{

p=b[i][j];

q=i;

r=j;

}

}

}

System.out.println("\n本数组中子数组和最大的为:"+p);

System.out.println("这个子数组是:");

for(i=0;i<q+1;i++)

{

System.out.print(a[r+i]+"\t");

}

 

}

 

}

结果分析:

处理最大数据问题:因为时间复杂度较高,所以在处理到500个数组长度的时候时间就超过10秒,1000个数据同样能处理,但因为数据太多,所以只能显示结果部分,前些部分不能在控制台显示出来。

能处理得最大数:最大到99999999999999999还可以处理,如果数组范围在9999999999999999999便出现错误信息,

Exception in thread "main" java.util.InputMismatchException: For input string: "9999999999"

at java.util.Scanner.nextInt(Unknown Source)

at java.util.Scanner.nextInt(Unknown Source)

at 子数组更改.zsz.main(zsz.java:19)

 

结组实现:

代码部分:刘洪阳;测试部分:刘双渤。

 

转载于:https://www.cnblogs.com/luffyyang/p/4387691.html

你可能感兴趣的文章
5个基于HTML5的加载动画推荐
查看>>
水平权限漏洞的修复方案
查看>>
静态链接与动态链接的区别
查看>>
如何使用mysql
查看>>
敏捷开发中软件测试团队的职责和产出是什么?
查看>>
在mvc3中使用ffmpeg对上传视频进行截图和转换格式
查看>>
python的字符串内建函数
查看>>
Spring - DI
查看>>
微软自己的官网介绍 SSL 参数相关
查看>>
Composite UI Application Block (CAB) 概念和术语
查看>>
ajax跨域,携带cookie
查看>>
阶段3 2.Spring_02.程序间耦合_7 分析工厂模式中的问题并改造
查看>>
阶段3 2.Spring_03.Spring的 IOC 和 DI_2 spring中的Ioc前期准备
查看>>
阶段3 2.Spring_03.Spring的 IOC 和 DI_6 spring中bean的细节之三种创建Bean对象的方式
查看>>
阶段3 2.Spring_09.JdbcTemplate的基本使用_5 JdbcTemplate在spring的ioc中使用
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第11节 Logback日志框架介绍和SpringBoot整合实战_45、SpringBoot2.x日志讲解和Logback配置实战...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-05 微服务调用方式之feign 实战 订单调用商品服务...
查看>>
技术分析淘宝的超卖宝贝
查看>>
Azure云服务托管恶意软件
查看>>
初识前端作业1
查看>>