最大连续子数组和的问题
1、思路:
利用random函数产生一个随机数组;
利用指针完成
2、代码
package qiuhe;
import java.util.Random;
import java.util.Scanner;
public class Add
{
public static void main(String[] args)
{
Scanner input =new Scanner(System.in);
System.out.print("输入此随机数组个数:");
int num1=input.nextInt();
Random a=new Random();
int[] array1=new int [num1];
System.out.print("生成的该数组为:");
for(int i=0;i<num1;i++)//共有num1个数
{
array1[i]=a.nextInt(1000)-500;
System.out.print(array1[i]+" ");
}
int sum=0,max=0;
System.out.println("最大连续子数组的元素为:");
for(int j=0;j<num1;j++)
{
sum=sum+array1[j];
if(sum<0)
sum=0;
else
{
if(sum>max)
max=sum;
}
System.out.print(array1[j]+" ");
}
System.out.println("最大数组和为:"+max);
}
}
4、反思
刚开始自己想着用c指针的思想完成,但是最后还是没弄出来,最后还是转到java上