题目描述
给你一个字符串 word ,你可以向其中任何位置插入 “a”、“b” 或 “c” 任意次,返回使 word 有效 需要插入的最少字母数。
如果字符串可以由 “abc” 串联多次得到,则认为该字符串有效 。
问题分析
核心在于统计插入最少字母次数的公式:(当前字母的ASII码 - 前一个字母的ASII码 + 2) % 3
剩余部分就是简单模拟(LeetCode最近的每日一题怎么都这么水,2333)
程序代码
func addMinimum(word string) int {
pre, cnt := 'c', 0
for _, v := range word {
cnt += int(v - pre + 2) % 3
pre = v
}
cnt += int('c' - word[len(word) - 1])
return cnt
}