码迷,mamicode.com
首页 > 其他好文 > 详细

课堂练习四

时间:2016-04-14 22:07:58      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

设计思路:

①申请一个len长度的数组arr和len长度的最大和数组maxsum。

②用两个for循环嵌套,外面的for循环决定数组中开始计算的首位置,内部的for循环进行子数组最大和的运算,和大于maxsum就替换maxsum的值,小于0,则归零。

③在内部for循环中加入成环思路,判断j的值是否循环到数组的最后一个值,如果循环到最后一个值将-1赋给j,所以j就会从-1开始+1循环,直到j=i-1处停止。

④计算程序完成之后将得到的maxsum[i]的值进行比较,for循环选出最大值即可。

源代码:

package subarraymaxadd;
import java.util.*;

public class Subarraymaxadd {

    public static void main(String[] args) {
    
        Scanner input = new Scanner(System.in);
        System.out.println("请输入数组长度:");
        int len = input.nextInt();
        int[] arr = new int[len];
        int[] maxsum = new int[len];
        System.out.println("请输入数组:");
        for(int i=0;i<len;i++)
        {
            arr[i] = input.nextInt();
        }
        input.close();
        
        for(int i=0;i<len;i++)
        {
            maxsum[i] = arr[i];
            int sum = 0;
            for(int j=i;j<len;j++)
            {
                sum =sum + arr[j];
                
                if(sum>maxsum[i])
                {
                    maxsum[i]=sum;
                }
                if(sum<0)
                {
                    sum=0;
                }
                
                if(j==len-1)//此处两个if语句为成环部分
                {
                    j=-1;
                }
                if(j==i-1)
                {
                    break;
                }
            }
        }
        
        int sum=0;
        sum = maxsum[0];
        for(int i=1;i<len;i++)
        {
            if(sum<maxsum[i])
            {
                sum=maxsum[i];
            }
        }
        
        System.out.println("子数组的最大和为:"+sum);

    }

}

结果截图:

技术分享

工作照:

技术分享

合作过程及体会:

在做之前我们先各自思考办法,搭档开始在想可以将数组变成两个数组,相当于算两遍就跟成环是一样的,但是我就说如果全是正数的话结果就不对了,果断放弃了。我提出了两个for循环嵌套的成环方法,觉得是很合理,在编译过程中出现了一些不细心的小错误,搭档也帮找出来了。

课堂练习四

标签:

原文地址:http://www.cnblogs.com/kt97458/p/5392833.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!