gpt4 book ai didi

c++ - 在 int 数组中查找连续值的运行

转载 作者:太空狗 更新时间:2023-10-29 20:57:09 24 4
gpt4 key购买 nike

假设我有这个由独立整数元素组成的整数数组:

111100010011010

我想看看这个数组中是否存在0000,显然不存在,但是000存在。其他长度的连续运行也是如此。

我知道这很容易用字符串完成,有为此内置的函数,但是是否有内置的东西可以完成我想做的事情?

或者还有其他我忽略的简单方法吗?我所能想到的只是复杂的非高效算法遍历数组并将值保存在另一个临时数组中。

最佳答案

无需将值保存到临时数组。

您需要做的就是跟踪找到的最大长度(最初为零)及其第一个元素的位置(如果您使用指针来指示,则最初为 NULL)。

然后遍历数组,直到找到感兴趣的值。计算连续出现的次数。如果该数字超过找到的最大长度,则将位置设置为指向找到的第一个。

重复直到到达数组末尾。

完成。如果找到的最大长度为零,则意味着没有出现所寻找的值。

不,我不会为上面的代码编写代码。方法的描述就足够了。

还有很多使用标准算法的替代选项

关于c++ - 在 int 数组中查找连续值的运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31512069/

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