第一题64% public class SMB01 { public static void main(String[] args) { Scanner input = new Scanner(System.in); while(input.hasNext()){ int len = input.nextInt(); int[] nums = new int[len]; for(int i=0;i<len;i++){ nums[i] = input.nextInt(); } System.out.println(getMaxOne(nums,len)); } } public static int getMaxOne(int[] nums,int m){ //这里得到sum(1-a)的最大值 if(m==0) return -1; int res = 0; for(int i = 0;i<m;i++){ int lSum = 0,rSum = 0,j=i; if(i==0){ lSum = 0; }else { lSum += nums[i-1]; } while(j<m){ rSum = Math.max(rSum,rSum+(1-nums[j])); j++; } res = Math.max(res,rSum+lSum); } return res; } }
点赞 评论

相关推荐

02-23 00:10
湖南大学 C++
点赞 评论 收藏
分享
牛客网
牛客企业服务