跳到主要内容

2844.生成特殊数字的最少操作

链接:2844.生成特殊数字的最少操作
难度:Medium
标签:贪心、数学、字符串、枚举
简介:返回最少需要多少次操作可以使 num 变成特殊数字。

题解 1 - python

  • 编辑时间:2024-07-25
  • 执行用时:48ms
  • 内存消耗:16.51MB
  • 编程语言:python
  • 解法介绍:判断结尾两位是否为特定字符串即可。
class Solution:
def minimumOperations(self, num: str) -> int:
arr = ["00", "25", "50", "75"]
def run(end_num: str) -> int:
i = len(num) - 1
j = len(end_num) - 1
while i >= 0 and j >= 0:
if num[i] == end_num[j]: j -= 1
i -= 1
if j != -1: return len(num)
return len(num) - i - 1 - 2
return min(min(run(end_num) for end_num in arr), len(num) - num.count('0'))