使用 KMP 算法中的前缀函数。
设字符串长度为 n,前缀函数最后一个值为 π[n−1],表示整个字符串最长的相同前后缀长度。
那么最短循环节长度可能为:
len=n−π[n−1]
给定一个字符串 s,请你判断它是否由一个较短的字符串重复多次构成。如果可以,输出最短的重复段字符串+重复次数;否则输出字符串本身。
例如:
一个字符串 s,仅包含数字 0-9、小写字母 a-z、大写字母 A-Z,字符串长度 1≤n≤106。
一段字符串 s_new,s_new 重复次数,字符串长度 1≤n≤106。
输入
aaabbb
输出
aaabbb
说明
它无法被分割成至少两个完全相同的部分。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册