假设答案有n个"abc"组成,那么需要插入的字符个数为 3 ? n ? l e n ( s ) 3*n - len(s) 3?n?len(s)。
对于相邻的两个字符x和y(x在y左侧):
所以, n n n就是 x ≥ y x\ge y x≥y 的次数加1
class Solution:
def addMinimum(self, s: str) -> int:
ans = ord(s[0]) - ord(s[-1]) + 2
for x, y in pairwise(map(ord, s)):
ans += (y - x + 2) % 3
return ans