c - 我怎样才能在整数数组中找到一个模式?

标签 c arrays integer pattern-finding

一周前我做了作业,我必须用 C 语言编写一个函数。 该函数获取单个正整数数组,并且必须返回数组中的下一个数字。 数组看起来像这样:{1,2,3,1,2,3,4,1,2,3,1,2,3,4,1,2,3,-1}; -1表示数组结束。

我知道函数必须返回的数字是 1,但是,我该如何编写模式查找算法呢?我还没有在互联网上找到任何解决方案,因为关于模式搜索的所有其他问题都是关于字符串的,其中已经给出了必须找到的模式。

最佳答案

如果模式的长度为 1 , 你将有 a[k+1] == a[k]对于所有可能的 k .

更一般地说,您将有 a[k+plen] == a[k]为正确的 plen (模式长度)和所有可能的 k .

所以确定plen1 开始...在您的情况下,您会得到 7因为a[7]==a[0] , a[8]==a[1] , ... a[16]==a[9] , 所以只返回 a[17-7] .

关于c - 我怎样才能在整数数组中找到一个模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58658983/

相关文章:

javascript - 使用 String.localeCompare 对混合项目进行排序时如何更改排序顺序?

c - ANSI C,没有可变参数函数的整数到字符串

algorithm - 随机生成特定范围内的整数序列

c - 我如何通过慢速 CAN 总线进行 printf 样式调试 - 在远程工具而不是嵌入式系统上使用常量字符串

c - 人们使用Pic和c进行计数器

arrays - 在 MATLAB 中使用转置与 ctranspose

Javascript从存储在索引上的数组内的对象获取键

java - 在 Java 中将对象转换为 Integer 进行赋值

c++ - 如何将位从一个变量复制到另一个变量?

c - GMP GNU 代码有错误?