原题链接:https://leetcode.cn/problems/minimum-operations-to-make-a-special-number/description/
感觉还是比较难想到的。。
func minimumOperations(num string) int {
res := len(num)
if strings.Contains(num, "0") {
res--
}
f := func(tail string) {
i := strings.LastIndexByte(num, tail[1])
if i < 0 {
return
}
i = strings.LastIndexByte(num[:i], tail[0])
if i < 0 {
return
}
res = min(res, len(num)-i-2)
}
f("00")
f("25")
f("50")
f("75")
return res
}
func min(a, b int) int {
if a < b {
return a
}
return b
}