zoukankan      html  css  js  c++  java
  • 首尾相连的数组 求其最大子数组

    设计思想:将数组扩大成两倍,将第二重数组等于初始数组的第一值,即数组长度为n,int【i+n】=int【i】,利用for循环即可实现。

    代码如下:

    package shuzu;
    
    import java.util.Scanner;
    
    public class shuzu {
    public static void main(String args[])
        {
            int maxsum=0,sum=0;
            int array[]=new int[10];
            Scanner in=new Scanner(System.in );
            System.out.println("输入n=?个整数");
             int n=in.nextInt();
            System.out.print("请输入n个整数:");
    for(int i=0;i<n;i++)
                {
                    array[i]=in.nextInt();
                    array[i+n]=array[i];
                }
    for(int i=0;i<n;i++)
            {
                sum=0;
                for(int j=0;j<n;j++)
                {
                    if(sum<0)
                    sum=0;
                    sum+=array[i+j];
    if(sum>maxsum)
                        maxsum=sum;
                }
            }
            System.out.print("子数组的最大值为:"+maxsum);
        }
    }
  • 相关阅读:
    2020软件工程作业04
    2020软件工程作业02
    第一周作业
    2019春总结作业
    12周作业
    第十一周作业
    第十周阅读
    第9周编程总结
    编程总结模版
    第8周编程总结
  • 原文地址:https://www.cnblogs.com/1061321925wu/p/10587563.html
Copyright © 2011-2022 走看看