首页 > 解决方案 > 检查在总和等于给定值的 N 个元素的数组中是否存在 K 个元素的非连续子数组

问题描述

问题陈述

任务是检查在长度为 N 的数组中是否存在 K 个元素的非连续子数组,其总和等于给定总和。

例如,

Array = [1,2,3,4,5,6,7,8,9]
length of Subarray(K) = 3 
target sum = 7.

sum=7 的长度为 3 的非连续子数组是 [1,2,4]。

约束:

1<=n<=10^6 
1<=k<=100

输出

如果存在 sum=TargetSum 的子数组,我们必须返回 True,如果不可能,则返回 False。

标签: algorithm

解决方案


那么肯定有超过7个不连续的子数组:1,2,4 1,2,5 1,2,6 1,2,7 1,2,8 1,2,9

那里是 6,然后你可以从 2 开始做同样的事情。并从那里继续前进。

如果你被允许倒退 [3,4,1] 那么你有更多的子数组


推荐阅读