第一次课堂练习-第一部分

 1.主要思路:

难点在于时间复杂度控制在O(n),借鉴了很多同学的思路和网上的资料。

2.源代码:

import java.util.Scanner;

/**
 * @author migua
 * @version 1.0
 * @date 2022/3/11 9:44
 */

public class aa {
    public static void main(String[] args) {
        System.out.println("数组长度");
        Scanner sc = new Scanner(System.in);
        int l = sc.nextInt();
        int[] arrNum = new int[l];


        System.out.println("数组的值");
        for (int i = 0; i < l; i++) {

            int x = sc.nextInt();
            if(x < 2147483647 || x >  -2147483648 )
                arrNum[i] = x;
            else
            {
                System.out.println("数据输入超界,程序已退出");
                return;
            }
            //System.out.println(arrNum[i]);
        }

        int[] arrRes = new int[l];
        for(int i = 0;i<arrNum.length;i++)
        {
            arrRes[i]=0;
        }

        int i = 0,j=0;
        int max = 0;
        for (i = 0; i < l; i++) {
            //j为当前子数组的开头下标
            if(i == 0)
            {
                arrRes[i]=arrNum[0];
                //System.out.println("初始arrRes值为:" + arrRes[i]);
            }
            else if(i > 0) {

                int pre = arrRes[i - 1];
                int now = arrNum[i] + arrRes[i - 1];
                if(pre < 0)
                {
                    arrRes[i]=arrNum[i];
                }
                else if (pre < now) {
                    arrRes[i] = now;
                    //System.out.println("arrRes[i]" + arrRes[i]);
                }
                else {
                    j=i;
                    arrRes[i] = arrNum[i];
                }
            }
        }
        max=arrRes[0];
        for( i = 0;i <arrRes.length;i++)
        {
            if(arrRes[i]>max && arrRes[i] <2147483647)
                max=arrRes[i];
            else if(arrRes[i] >= 2147483647 || arrRes[i] < -2147483648) {
                System.out.println("数据溢出,程序已退出");
                return ;
            }
        }
        System.out.println(max);
    }
}
3.运行结果:

 

 






 

posted @ 2022-03-14 14:21  萧贾jzm  阅读(6)  评论(0编辑  收藏  举报
//歌单id