模式串:ababaaaba
next:011234223
方法:
- 前两位是0和1
- 第三位:前一位b对应的next值为1,1对应的a(在数组中第一个数为a)和b不相同,故第三位的next值为1
- 第四位:前一位a对应的next值为1,1对应的a和a相同,故第四位的next是在前一位(第三位)的next上+1,为2
- 第五位:前一位b对应的next值为2,2对应的b和b相同,故第五位的next是前一位(第四位)的next上+1,为3
- 第六位:前一位a对应的next为3,3对应的a和a相同,故第六位的next是前一位(第五位)的next+1,为4
- 第七位:前一位a对应的next为4,4对应的b和a不同,第4位的b的next值2所对应的b和a也不一样,第2位的b的next值1所对应的a和a相同,故第七位的next是滴2位的next值+1,为2
- 第八位:前一位next值为2,2对应的b和a不一样,第二位的b的next值为1,1对应的a和a一样,故第八位的next值是第二位next+1,为2
- 第九位:前一位next为2,对应的b和b相同,故第九位对应的next为第八位+1,为3
Practice:
模式串:TACATTATACAGTACT
next:0111122