一周前我做了作业,我必须用 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
.
所以确定plen
从 1
开始...在您的情况下,您会得到 7
因为a[7]==a[0]
, a[8]==a[1]
, ... a[16]==a[9]
, 所以只返回 a[17-7]
.
关于c - 我怎样才能在整数数组中找到一个模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58658983/