【题解】【Java】返回子数组最大和

在这里插入图片描述
法一 : 暴力解法,从第一个元素往后依次来看。-----时间复杂度 O(n²)
法二: 累加和负数丢弃,正数保留思想。-----时间复杂度 O(n)

代码如下

static void sovel2(int[] a){
		int max = a[0];
		int sum = max;
		for(int i = 1; i < a.length; i++){
			if(sum > 0){
				sum = sum + a[i];
			} else{
				sum = a[i];
			}
			
			if(sum > max){
				max = sum;
			}
			
		}
		System.out.println(max);
	}
发布了81 篇原创文章 · 获赞 13 · 访问量 2381

猜你喜欢

转载自blog.csdn.net/alovelypeach/article/details/104300427