• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

我这样写的KMP算法哪里错了呢?

#include #include int main(){ int next[30]; int i=1,j=0; char list[30] ="abc"; char goal[100]="abdabce"; next[0]=-1; next[1]=0; int lenlist=strlen(list); while(i

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与2

晓得了,
还是 31 行 的 while() 循环体写错了
if( list == goal[j] ) --->改为 if( list[j] == goal )
然后就可以了,....
-----
这个错误很明显吧, 个人理解-->(下标 j 对应 模式串(--> 同时 对应于 next 数组, j 的变化 编制下一个 与 目标串 匹配的位置))
第一次没有看出来, 尴尬...


幸亏又看了一遍

使用道具 举报

用KMP算法求next数组没有写错错在了匹配时,31行的while()循环体写错误了(错误原因不知道为啥),代码改为下面这个if(j==0||goal==list[j]){++i;++j;}else{                        j=next[j];        }

使用道具 举报

发新帖

发布任务需求已有1031167位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!