• (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);
    		
    	}
    
    }
    
    
  • 相关阅读:
    MySQL的删除语句
    机器学习-K-means聚类及算法实现(基于R语言)
    机器学习-线性回归补充-实践
    什么是JWT
    Java的NIO
    音乐播放器歌词同步显示
    Linux和Mac下安装RocketMQ过程
    支付宝沙箱应用
    HTML5 调用手机摄像头拍照
    JavaWeb图片上传的几种方式
  • 原文地址:https://www.cnblogs.com/a1439775520/p/12948885.html
Copyright © 2020-2023  润新知