【华为机试真题 Python】最多等和不相交连续子序列

题目描述

给定一个数组,我们称其中连续的元素为连续子序列,称这些元素的和为连续子序列的和。

数组中可能存在几组连续子序列,组内的连续子序列互不相交且有相同的和。

求一组连续子序列,组内子序列的数目最多。

输出这个数目。

输入描述

  • 第一行输入为数组长度N,1<=N<=10^3

    第二行为N个用空格分开的整数 Ci,-10^5 <= Ci <= 10^5

输出描述

第一行是一个整数M,表示满足要求的最多的组内子序列的数目。

参考示例

示例1

输入

10
8 8 9 1 9 6 3 9 1 0


输出    

4

示例1

输入

10
-1 0 4 -3 6 5 -6 5 -7 -3


输出    

3


参考代码

# 输入获取
n = int(input())
arr = list(map(int, input().split()))
 
 
# 算法入口
def getResult(arr, n):
    # 记录相同和连续子序列的区间
    rans = {}
 
    # 求解arr数组的前缀和数组dp
    dp 

猜你喜欢

转载自blog.csdn.net/forest_long/article/details/134983644
今日推荐