leetcode Maximum Subarray(medium) /java
Posted 天气晚来秋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode Maximum Subarray(medium) /java相关的知识,希望对你有一定的参考价值。
最大和子序列。
在这之前,我这类题目都不是很懂。
今天突然想通了。
最大的问题是如何舍弃不符合的数据。
在if判断中,就能果断丢掉前面的一大串。
import java.io.*; import java.util.*; public class Solution { public static int maxSubArray(int[] nums) { int r; int len=nums.length; if(len==0) return 0; int i,j; i=0; int sum; sum=nums[0]; r=nums[0]; for(i=1;i<len;i++) { if(nums[i]>=nums[i]+sum) sum=nums[i]; else sum=sum+nums[i]; if(sum>r) r=sum; } return r; } public static void main(String[] args) { int[] a={-2,1,-3,4,-1,2,1,-5,4}; int[] b={1,-2,2,-3,3,-4}; System.out.println(maxSubArray(a)); System.out.println(maxSubArray(b)); } }
以上是关于leetcode Maximum Subarray(medium) /java的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode -- Maximum Product Subarray