当前位置: 首页 > 知识库问答 >
问题:

检查N个元素的数组中是否存在K个元素的非连续子数组,其总和等于给定值

归鹤龄
2023-03-14

问题陈述

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

例如,

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

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

限制条件:

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

输出

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

共有1个答案

蓝星辰
2023-03-14

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

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

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

 类似资料:
  • 我有2个输入 预期输出: 我无法解决它。所以,请不要问我的解决方案。请用java帮助解决。

  • 问题内容: 我有一个看起来像元组的列表: 检查该元组中是否存在值的最佳方法是什么?例如,我想能够说: 并得到真 问题答案: 您正在寻找: 结合一个简单的生成器表达式,就可以完成任务。生成器表达式接受每个元组,如果包含则产生。然后在请求的第一个项目返回时返回(否则为)。因此,这就是您想要的。它也可以很好地读取- 如果有任何元组包含。 如果您要执行大量操作并且需要性能,那么可能值得设置所有值的集合以使

  • 给定一组未排序的整数,返回大小为k的所有子集(即每组有k个唯一元素),其总和为0。 所以我给了面试官以下解决方案(我在GeekViewpoint上研究过)。没有使用额外的空间,一切都做到位,等等。但当然成本是O(n^k)的高时间复杂度,其中在解决方案中。 但随后她提出了以下要求: 必须在答案中使用hashmap以降低时间复杂度 必须绝对地为一般情况提供时间复杂度 k=6时的提示,O(n^3) 她对

  • 如果给定的和等于数组中任意两个元素的和,函数需要返回true;否则函数需要返回false。

  • 问题内容: 我有两个数组,我想检查是否每个元素都在中。如果元素的值在中重复,则该元素的值必须相等。最好的方法是什么? 问题答案: 一种选择是对两个数组进行排序,然后遍历两个数组,然后比较元素。如果在超级袋中未找到子袋候选中的元素,则前者不是子袋。排序通常为O(n *log(n)),比较为O(max(s,t)),其中 s 和_t_是数组大小,总时间复杂度为O(m * log(m)) ,其中m =ma

  • 问题内容: 我在PHP中有两个数组,如下所示: 人: 通缉犯: 如何检查是否 所有 的的 人们 元素是在 通缉犯 阵列? 在此示例中,它应该返回,因为在 通缉犯中 。 问题答案: 您可以使用。