• 课堂作业4月8号


    设计思路:

    用随机数产生N个随机数放入一个数组里面,找到所有的子数组,并求和取最大的那个数组输出。

    (从数组中第一个元素a[0]开始,依次计算a[0]、a[0]+a[1]、a[0]+a[1]+...+a[i]的值,即从a[0]开始的每个子数组的和,取出最大值。再从数组第二个元素a[1]开始,依次往后计算每个子数组的和,取出最大值。依次循环,直到数组最后一个元素,取出a[i]。)

    代码:

    package shuzu01;
    import java.util.*;
    public class Sum 
    {
    	public static void main(String[] args)
        {
            Scanner input=new Scanner(System.in);
            System.out.print("请输入数组中数的个数:");
            int num=input.nextInt();
            int array[]=new int[num]; 
            for(int i=0;i<num;i++)
            {
                if((int)(Math.random()*2)==0)
                {
                    array[i]=(int)(Math.random()*10);
                }
                else
                {
                    array[i]=-(int)(Math.random()*10);
                }
            }
            for(int i=0;i<num;i++)
            {
                System.out.println(array[i]);
            }
            int max=0;
            int list[]=new int[num];
            for(int j=0;j<num;j++)
            {
                max=array[j];
                int sum=0;
                for(int t=j;t<num;t++)
                {
                    sum=sum+array[t];
                    if(sum>max)
                    {
                        max=sum;
                    }
                }
                list[j]=max;
            }
          /* for(int i=0;i<num;i++)
            {
                System.out.print("第"+(i+1)+"次比较的子数组的和的最大值为:");
                System.out.println(list[i]);
            }*/
            for(int i=1;i<num;i++)
            {
                max=list[0];
                if(list[i]>max)
                {
                    max=list[i];
                }
            }
            System.out.print("子数组和的最大值为:"+max);
        }
    
    
    }
    

      总结:求和取最大值用到了循环嵌套,时间复杂度要求没有达到

  • 相关阅读:
    python学习第三天
    python学习第二天
    如何解决自学编程的犯困问题
    python学习计划第四天-python第一天
    python学习第三天-Linux入门之二
    python第二天-Linux基础学习
    python入门第一天-Linux的学习入门
    Linux下gdb的使用
    整理一下常见的十种排序
    对指针的理解
  • 原文地址:https://www.cnblogs.com/xuemo/p/5369602.html
Copyright © 2020-2023  润新知