• (Java实现) 洛谷 P1115 最大子段和


    题目描述
    给出一段序列,选出其中连续且非空的一段使得这段和最大。

    输入输出格式
    输入格式:
    第一行是一个正整数NN,表示了序列的长度。

    第二行包含NN个绝对值不大于1000010000的整数A_iA
    i
    ​ ,描述了这段序列。

    输出格式:
    一个整数,为最大的子段和是多少。子段的最小长度为11。

    输入输出样例
    输入样例#1:
    7
    2 -4 3 -1 2 -4 3
    输出样例#1:
    4

    import java.util.Scanner;
    
    
    public class zuidaziduanhe {
    	public static void main(String[] args) {
    		Scanner sc =new Scanner(System.in);
    		
    		int n = sc.nextInt();
    		int [] num = new int [n+1];
    		for (int i = 1; i < num.length; i++) {
    			num[i]=sc.nextInt();
    		}
    		 int Sum = 0;     
    	       int max = 0;            
    	       for (int i = 1; i < num.length; i++) {
    	           
    	           if(Sum<=0){      //如果当前连续n项的和小于等于0,则没必要与后面的元素相加
    	               Sum = num[i];      //Sum重新赋值
    	           }else{
    	               Sum += num[i];     //如果Sum的值大于0,则继续与后面的元素相加,
    	           }
    	           if(Sum>max){         //每次改变Sum的值都有与max进行比较
    	               max = Sum;       //如果Sum的值大于max,则将Sum的值赋值给max
    	           }
    	       }
    	       System.out.println(max);
    		
    	}
    
    }
    
    
  • 相关阅读:
    (转)LINUX CENTOS7下安装PYTHON
    (转)python的paramiko模块
    (转)Db2数据库一次生产故障详细记录---数据库坏页
    (转)性能调优和问题诊断最佳实践,第 1 部分
    (转)性能调优和问题诊断最佳实践,第 2 部分
    字符串
    html框架
    数组
    生成伪随机数
    控制语句和循环
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13079134.html
Copyright © 2020-2023  润新知