美文网首页Android知识Android开发Android技术知识
求带有非负数的数组中随意连续子项相加的最大值——算法最优解

求带有非负数的数组中随意连续子项相加的最大值——算法最优解

作者: 被风扬起的沙 | 来源:发表于2016-11-05 17:45 被阅读64次

直接上代码,这是在慕课大学上学的,算是笔记吧~~~

public class TestArith {    
   public  static void main(String[] args){       
     int array[]={-1,3,-2,4,-6,1,6,-1};     
     int sum=0;   
     int maxSum=0;        
    for (int i = 0; i < array.length; i++) {          
      sum +=array[i];//向右累加         
       if (sum>maxSum){              
        maxSum=sum;//发现更大和则更新当前结果            
    }else if (sum<0){              
        sum=0;//如果当前子列和为负,则不可能使后面的部分和增大,抛弃之                
    }      
  }        
System.out.print(maxSum);  
  }
}

算法的复杂度为O(N),即遍历一遍即可算出答案。原图如下:

Paste_Image.png

相关文章

  • 求带有非负数的数组中随意连续子项相加的最大值——算法最优解

    直接上代码,这是在慕课大学上学的,算是笔记吧~~~ 算法的复杂度为O(N),即遍历一遍即可算出答案。原图如下:

  • 连续子数组的最大和

    题目:输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。...

  • 剑指Offer Java版 面试题42:连续子数组的最大和

    题目:输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。...

  • 46_连续子数组的最大和

    要求:输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。...

  • 连续子数组的最大和

    题目: 输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值...

  • 剑指offer 42 找最大子数列

    输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 动态...

  • 42-连续子数组的最大和

    输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求...

  • 最大子数组和

    输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求...

  • 刷题22——面试题42:连续子数组的最大和

    题目: 输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组,求所有子数组的和的最大值...

  • 面试题42. 连续子数组的最大和

    题目 输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。...

网友评论

    本文标题:求带有非负数的数组中随意连续子项相加的最大值——算法最优解

    本文链接:https://www.haomeiwen.com/subject/lslguttx.html