zoukankan      html  css  js  c++  java
  • 软件工程概论-课后作业4(子数组成环求最大值)

    [设计思路]

        在之前(子数组求最大值)的基础之上,要使成环后的数组求取其最大子数组之和,需要确定遍历循环开始的位置和其结束的位置。

        1.使用一个for循环,遍历至最后一个数。当某个数之前的子数组为负值(即子数组最大值要从当前数来计时),添加一个标记,作为下一个for循环停止的位置。

        2.再使用一个for循环,遍历至标记所在处。

    [程序代码]

    import java.util.*;
    
    public class MaxsArray 
    {
        public static void main(String args[])
        {
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入你要求子数组最大值的数组长度:");
            int length = sc.nextInt();
            int array[] = new int[length];
            
            System.out.println("请输入你要求子数组最大值的数组的数:");
            for(int i=0;i<length;i++)
            {
                array[i] = sc.nextInt();
            }
            
            int max = array[0];
            int tempmax = array[0];
            int temp=0;
            
            for(int i=1;i<length;i++)
            {
                if(tempmax<0)
                {
                    tempmax = array[i];
                    temp=i-1;
                }
                else
                {
                    tempmax+=array[i];
                }
                if(tempmax>max)
                {
                    max = tempmax;
                }
            }
            for(int i=0;i<=temp;i++)
            {
                if(tempmax<0)
                {
                    tempmax = array[i];
                }
                else
                {
                    tempmax+=array[i];
                }
                if(tempmax>max)
                {
                    max = tempmax;
                }
            }
            System.out.println("子数组的最大值为:"+max);
        }
    }

    [结果截图]

    [总结]

        一个程序的设计思路对一个程序的实现远重于所花费在敲代码上的功夫,所以,在编写一个程序之前,一定要好好构建设计思路,只有思路清晰了才能快速的实现自己的程序。

  • 相关阅读:
    Servlet 的生命周期
    关于JSP
    JQuery事件绑定
    JavaScript中操作元素
    javaScript的函数使用
    Servlet 的API
    JavaScript中BOM对象
    gridview 绑定时间列 取短日期
    A4纸网页打印中对应像素的设定和换算
    动态添加 控件 并获取值
  • 原文地址:https://www.cnblogs.com/Againzg/p/5395995.html
Copyright © 2011-2022 走看看