• 数组的最大子数组的和


    要求:

        给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。要求时间复杂度为O(n)。

    思路:

        这是一道考察算法的题,对比每一个子数组的和,还有对时间复杂度的要求。

    过程与结果:

        总的来讲花费的时间挺多的,可能因为,额,好吧,不是可能,是就是本来基础很差,所以实际动手的时候不太会,钻研了半天,最后还是从网上查找了查找解决方案,但是最后还是没能解决时间复杂度O(n)的问题,只做到了时间复杂度O(n²)。

    package com;

    public class zihe {
    public static int sumN2(int [] array){
    int sum=0,maxSum=Integer.MIN_VALUE;
    int n=array.length;
    int count=0;
    for(int i=0;i<n;i++){
    sum=0;
    for(int j=i;j<n;j++){
    sum+=array[j];
    if(sum>maxSum){
    maxSum=sum;
    }
    count++;
    } }

    System.out.println("length="+n+"||count="+count);
    return maxSum;
    }


    public static void main(String[] args) {
    // TODO Auto-generated method stub
    int [] array={-5,-2,-3,-5,-3,-2};
    int sum=zihe.sumN2(array);
    System.out.println("最大子序列和="+sum);

    }

    }

  • 相关阅读:
    Pycharm中安装第三方库
    Cookie&Session区别
    在线AES加解密
    Python_base_正则表达式
    POST四种常见的传参区别
    SQL基础语法与规则
    SQL的4种连接
    Python_base_Log
    <11>Golang基础进阶——指针
    Shell脚本——特殊变量
  • 原文地址:https://www.cnblogs.com/baimafeima/p/10803448.html
Copyright © 2020-2023  润新知