连续子数组的最大和 java

来源:互联网 发布:linux 查看nat表 编辑:程序博客网 时间:2024/06/07 14:25
public class Solution {    public int FindGreatestSumOfSubArray(int[] array) {        if(array.length==0||array==null)            return 0;        int max=0;        int curNum=0;        for(int i=0;i<array.length;i++){            if(curNum<=0){//如过当前连续n项的和小于等于0,则没必要与后面的元素相加                curNum=array[i];  //currentSum重新赋值            }else{                curNum+=array[i];//如果currentSum的值大于0,则继续与后面的元素相加,            }            if(curNum>max){  //每次改变currentSum的值都有与max进行比较                max=curNum;   //如果currentSum的值大于max,则将currentSum的值赋值给max            }        }       if(max==0){            for(int i=0;i<array.length;i++){            for(int j=0;j<array.length-1;j++){                if(array[j]<array[j+1]){                    int temp=array[j];                    array[j]=array[j+1];                    array[j+1]=temp;                }            }        }        if(array[0]<0)            return array[0];       }else{           return max;       }        return max;    }}
0 0
原创粉丝点击