zoukankan      html  css  js  c++  java
  • 求数组最大子数组和

    1.Calculate 

    public class Calculate {
    public static void main(String[] args){
    Calculate i =new Calculate();
    int Max = 0;
    int Max1 = 0;
    Scanner in=new Scanner(System.in);
    System.out.print("请输入数组的长度:");
    int j=in.nextInt();
    System.out.print("请依次输入数组:");
    int Arr[]=new int[j];
    for(int a = 0;a < j; a++){
    Arr[a]=in.nextInt();
    }
    int Arr1[]=new int [j];
    for(int a = 0; a < j; a++) {
    for(int b = 0; b < j; b++){
    Arr1[b]=Arr[(b + a)%(j)];
    }
    Max=i.findMaxArr(Arr1);
    if(Max > Max1) {
    Max1 = Max;
    }
    }
    System.out.print("最大的子数组和为"+Max1);
    }
    public int findMaxArr(int[] arr) {
    int Arr = 0;
    int MaxArr = 0;
    int c = arr.length;
    int Location1=0;
    int Location2=0;
    int a;

    for ( a = 0; a < c; a++) {
    Arr += arr[a];
    if (Arr < 0) {
    Arr = 0;
    }
    if (Arr > MaxArr) {
    MaxArr = Arr;
    }
    }

    for(a = Location2; a >= 0; a--) {
    if(MaxArr-arr[a]==0) {
    Location1 = a;
    break;
    }
    }
    if (MaxArr == 0) {
    for ( a = 0; a < c; a++) {
    if (a == 0) {
    MaxArr = arr[a];
    }
    if (arr[a] > MaxArr) {
    MaxArr = arr[a];
    }
    }
    }
    return MaxArr;
    }
    }

    
    
    
  • 相关阅读:
    Git常用命令
    maven profile动态选择配置文件
    Nodejs的偏函数
    用CountDownLatch来同步java的多线程
    NodeJS的Promise的用法
    alluxio常用命令
    常见小代码
    Mongodb
    Mysql_常用语法
    PostgreSQL
  • 原文地址:https://www.cnblogs.com/yuhouwuqiong/p/6568315.html
Copyright © 2011-2022 走看看