zoukankan      html  css  js  c++  java
  • 软件工程概论

    要求:
       输入一个一维整形数组,数组里有正数也有负数。
      一维数组首尾相接,象个一条首尾相接带子一样。
      数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。

    设计思想:

      1 设传参的数组长为n,创建长度为2n的辅助数组,按顺序赋两遍值

      2 每一个以 i 开头的子数组有 n 个,也就是从 第 i 个到 n+i (i<=n)

      3 将得到的子数组求和并存起来,判断和数组中的最大值即可。

    源代码:

    import java.util.Vector;

    public class MaxListNumber {
     public static int maxList(int []num) {
      int max=-99;
      int len=num.length;
      if(len<=0) {
       System.out.println("数组为空。");
      }
      else {
      Vector<Integer> numx=new Vector<>();
      int[]number=new int[2*len];
      for(int i=0;i<len;i++) {
       
       number[i]=num[i];
       System.out.println("数组元素:"+num[i]);
       number[len+i]=num[i];
      }
      for(int i=0;i<len;i++) {
       int temp;
       int sum=0;
       int count=0;
       for(int k=i;k<number.length;k++) {
        if(count>=len)
         break;
        temp=number[k];
        sum=sum+temp;
        numx.add(sum);
        count++;
       }
      }
      max=numx.get(0);
      for(int i=0;i<numx.size();i++) {
       if(max<numx.get(i)) {
        max=numx.get(i);
       }
      }
      }
      return max;
     }
     public static int maxList(int [][]num) {
      int max=num[0][0];
      for(int i=0;i<5;i++) {
       
      }
      return 0;
      
     }
     public static void main(String args[]) {

      int []number=new int[6];
      for(int i=0;i<6;i++) {
       number[i]=(int) (Math.random()*10-5);
      }
      int max=maxList(number);
      System.out.println("最大子数组的和:"+max);
     }
    }

    结果截图

      

    总结:

      以消耗空间来提高时间效率(降低时间复杂度)

     

    ...................................................
  • 相关阅读:
    2.17NOIP模拟赛(by hzwer) T2 小奇的序列
    2.17NOIP模拟赛(by hzwer) T1 小奇挖矿
    题解【洛谷P3662】[USACO17FEB]Why Did the Cow Cross the Road II S
    题解【CF886B】Vlad and Cafes
    题解【CJOJ1070/UVA】嵌套矩形
    题解 【CF381A】 Sereja and Dima
    何时使用UI层的智能表单技术
    开机加电到系统打开究竟发生了什么?(1)
    asp.net MVC 常见安全问题及解决方案
    HDU 4422 The Little Girl who Picks Mushrooms【水题】
  • 原文地址:https://www.cnblogs.com/floakss/p/8016521.html
Copyright © 2011-2022 走看看