zoukankan      html  css  js  c++  java
  • 软工第二周个人作业

    题目:

    定义一个整型数组,返回该数组中子数组和的最大值!

    思路:

    1.首先进行数组的遍历,对最大值进行初始化为数组的第一个元素,每次遍历,求得该子数组的和。

    2.将上值与最大值作max(a,b)操作,然后进行下一次的遍历,直到结束。

    方法:

    用到三个for循环。

    第一个 用来完成所有数组的循环。

    第二个用来表示从第几个元素开始,寻找子数组。

    第三个 用来获取每个子数组的和,等到遍历完全结束,返回最大值输出。

     1 import java.util.Scanner;
     2 
     3 public class shuzu {
     4     public static void main(String[] args){
     5         int number,maxsum;//定义2个整型
     6         
     7         int a;
     8         Scanner in = new Scanner(System.in);//输入
     9         System.out.println("请输入数组大小");
    10         number=in.nextInt();//将输入值存于number1·
    11         int array[]=new int[number];//由上述操作定义数组
    12         System.out.println("请输入数组的值:");
    13         for(a=0;a<number;a++) {
    14                  array[a]=in.nextInt();
    15         }  //数组定义完成
    16         //查询最大数组
    17      
    18         int i,j,k;
    19         int max[]=new int [number];
    20         for(i=0;i<number;i++){
    21             max[i]=array[i];
    22             k=array[i];
    23             for(j=i+1;j<number;j++){
    24                 k=k+array[j];
    25                 if(k>max[i])
    26                 {max[i]=k;}
    27             }
    28         }
    29         int m=max[0];
    30         for(i=1;i<number;i++)
    31         {
    32             if(max[i]>m)
    33             {m=max[i];}
    34         }
    35         System.out.println("所有连续子数组和的最大值为:"+m);
    36                 
    37     }
    38 }
    shuzu
  • 相关阅读:
    操作系统复习
    软件工程复习
    2020字节跳动校园招聘算法方向第二场考试题解(部分)
    【牛客】用两个栈来实现一个队列
    LeetCode 62. 不同路径
    LeetCode 79. 单词搜索
    LeetCode 113. 路径总和 II
    LeetCode 389. 找不同
    【牛客】矩阵交换
    【牛客】KiKi学习了结构体和指针
  • 原文地址:https://www.cnblogs.com/yeshenfeng/p/10507786.html
Copyright © 2011-2022 走看看