gpt4 book ai didi

c - 降低找到具有给定总和的子数组的复杂性

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:30:26 24 4
gpt4 key购买 nike

我正在尝试编写一个问题,在该问题中我必须找到具有给定总和的给定数组的连续子数组。我想要做的是使用一个从 0 到 n 的循环 i 和另一个从 i 到 n 的循环,并使用它计算所有子数组和。但我认为解决方案的时间复杂度可以进一步降低。我只是想不通怎么办。问题是否可以转换为 DP?我需要找到子数组的总数。

最佳答案

For positive numbers only

初始化变量 curr_sum 作为第一个元素。 curr_sum 表示当前子数组的和。从第二个元素开始,将所有元素一个一个地添加到curr_sum中。如果 curr_sum 等于 sum,则打印解决方案。如果 curr_sum 超过 sum,则在 curr_sum 大于 sum 时删除尾随元素。

此算法将给出第一个正确答案。可能存在多个子数组作为答案。 ``

复杂度:O(n)

关于c - 降低找到具有给定总和的子数组的复杂性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17441430/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com