已知模式串求next值 模式串t=‘a(chǎn)bcaabbabcab’,求next[j] nextval[j]的值?
模式串t=‘a(chǎn)bcaabbabcab’,求next[j] nextval[j]的值?在計(jì)算第j個(gè)字母的下一個(gè)值時(shí),請(qǐng)檢查前一個(gè)字符的最長(zhǎng)字符串是否與前一個(gè)字符的最長(zhǎng)字符串相同。如果相同,則長(zhǎng)度為1例如
模式串t=‘a(chǎn)bcaabbabcab’,求next[j] nextval[j]的值?
在計(jì)算第j個(gè)字母的下一個(gè)值時(shí),請(qǐng)檢查前一個(gè)字符的最長(zhǎng)字符串是否與前一個(gè)字符的最長(zhǎng)字符串相同。如果相同,則長(zhǎng)度為1
例如,如果第五個(gè)字母是a,前面的字符串是ABCA,則第四個(gè)字母中最長(zhǎng)的子字符串是1,即a,因此下一個(gè)值是2
如果第七個(gè)字母是B,前面的字符串是abcaab,則第六個(gè)字符中最長(zhǎng)的子字符串是2,也就是AB,所以下一個(gè)值是23
如果你真的做不到,只要背誦代碼并嘗試得到結(jié)果。哈哈,我覺得很清楚。