zoukankan      html  css  js  c++  java
  • 字串和。。。。nyoj----44

    子串和

    时间限制:5000 ms  |  内存限制:65535 KB
    难度:3
     
    描述
    给定一整型数列{a1,a2...,an},找出连续非空子串{ax,ax+1,...,ay},使得该子序列的和最大,其中,1<=x<=y<=n。
     
    输入
    第一行是一个整数N(N<=10)表示测试数据的组数)
    每组测试数据的第一行是一个整数n表示序列中共有n个整数,随后的一行里有n个整数I(-100=<I<=100),表示数列中的所有元素。(0<n<=1000000)
    输出
    对于每组测试数据输出和最大的连续子串的和。
    样例输入
    1
    5
    1 2 -1 3 -2
    
    样例输出
    5
    提示
    输入数据很多,推荐使用scanf进行输入
    来源
    经典问题
    上传者
    张云聪

     
     
     1 #include<stdio.h>
     2 int main()
     3 {
     4     int T,N,a[1000010],i;
     5     scanf("%d",&T);
     6     while(T--)
     7     {
     8         int sum,max;
     9         scanf("%d",&N);
    10         for(i=0;i<N;i++)
    11         scanf("%d",&a[i]);
    12         for( max=sum=a[0],i=1;i<N;i++)/*只求子串数字连续最大和*/
    13         {                            /*sum只记录和,max记录最大和*/
    14             if(sum<0) sum=0;/*sum 为负数时处理*/
    15             sum+=a[i];
    16             if(max<sum) max=sum;/*每次比较完后 max 都记录的是字串中较大的和*/
    17         }
    18         printf("%d
    ",max);
    19     }
    20     return 0;
    21 }
    View Code
  • 相关阅读:
    使用jmeter和fidder进行APP接口测试
    测试模板积累
    功能测试-
    Django 路由
    Django 基础
    JQ 简单动画显示隐藏效果
    JQ $.each详解
    JQ 事件绑定与事件委派
    django模板之forloop
    JQ 属性操作
  • 原文地址:https://www.cnblogs.com/xiaoyunoo/p/3214798.html
Copyright © 2011-2022 走看看