首页 > 代码库 > leetcode Maximum Subarray(medium) /java
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。