动态规划02

设计思路:

在动态规划01上循环改为两次,使其形成一个圈

package work2;

import java.util.Scanner;

public class m {

    public static void main(String[] args)
    {
        int a;
        System.out.println("请输入数组长度");
        Scanner sc=new Scanner(System.in);
        a=sc.nextInt();
        int b[]=new int[a];
        System.out.println("请输入数组元素");
        int i;
        for(i=0;i<a;i++)
        {
            b[i]=sc.nextInt();
        }
        int sum,c,s=0,e=0;
        sum=b[0];
        c=b[0];
        int i1=1;
        for(i=1;i<2*a;i++)
        {
            i1++;
            if(i1==a)
            {
                i1=i1-a;
            }
            if(c>0)
            {
                c=c+b[i1];
                e=i1;
            }
            else
            {
                c=b[i1];
                s=i1;
                e=i1;
            }
            if(sum<c)
            {
                sum=c;
            }
        }
        System.out.println("最大子数组值为"+sum);
        
        

    }

}

posted @ 2016-04-12 18:50  最佳BUG制作者  阅读(120)  评论(0)    收藏  举报