其实这个用KMP算法中Next[]数组可以求出,只要求出Next[]数组,然后根据Next()函数中每一位的值的大小可的出那些是重复的,如:“abcab" , 其Next[]中的值为{0 ,0 ,0 ,1,2},Next[3]=1,则说明字符串中第3+1个字符是重复的(a是重复的),而且从1~Next[3]之间的字符也是重复的(这里的1是字符串的第一位);在看Next[4] = 2,则说明字符串中第4+1个字符是重复的(b是重复的),从1~Next[4]之间的字符也是重复的(也就是ab是重复的);最后遍历完Next数组就可的出 a , b , ab 是重复字符子串。KMP算法中Next[]数组的求法就是根据到当前位置长度的字符串中前后重复的个数来确定值得嘛!
点赞 9

相关推荐

12-20 11:26
复旦大学 Java
点赞 评论 收藏
分享
想干测开的tomca...:这份简历是“大一新生硬凹资深后端”的典型反面教材,槽点离谱到能让面试官直接笑出声: ### 1. 「年龄+入学时间」和项目复杂度完全脱节,可信度直接归0 你2024年7月才入学(现在刚读了1年多),19岁的大一新生,能把Vue3+Spring Boot+ShardingSphere+K8s+AI这些技术全塞进两个项目里?别说实际开发,光把这些技术的文档看完都得半年——这不是“能力强”,是“把招聘JD里的技术词全抄过来造假”,明摆着没碰过实际代码
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务