• 前缀和


    例题:

    ZYing的数列
    Description
    
    这两天,ZYing突然迷上了数列,她喜欢用随机数生成数列,然后去开动自己的大脑去研究这个数列有什么样的性质。最近她研就的性质和7有关,她用随机数生成了一个长度为n的数列,她觉得一个成功的数列,需要有连续的一段和为7的倍数的数,现在她想知道,她这个数列中,长度最长的和为7的倍数的连续区间的长度。
    
    
    Input
    第一行一个整数n代表数列中数的个数。
    
    第二至n+1行每行一个非负整数表示数列中的数。
    
    
    Output
    一行一个整数代表最长的区间的长度。如果不存在,则输出0。
    
    
    Sample Input 1 
    
    10
    2
    45
    5
    12
    9
    3
    5
    67
    4
    11
    Sample Output 1
    
    9
    Hint
    
    1 ≤≤50,000。数列中没个数a_ia 
    i
    ​
     满足0 \leq a_i \leq 1e90≤a 
    i
    ​
     ≤1e9
    View Code

    解决:

    首先求前缀和,并对7取模,这样得到的数组,余数相同的两位之间的连续子段和模7的值就为0;
    统计出每个模数最先出现的位置,和最后出现的位置,就可求出长度,取最大值即可。
    View Code
  • 相关阅读:
    GORM模型(Model)创建
    GORM高级查询
    LogAgent
    安装kafka
    go读取日志tailf
    bubble清单
    go操作kafka
    GORM模型删除
    Vue 父子组件间的传值
    列表和表格
  • 原文地址:https://www.cnblogs.com/Lamboofhome/p/15578576.html
Copyright © 2020-2023  润新知