leetcode算法题--生成特殊数字的最少操作

原题链接:https://leetcode.cn/problems/minimum-operations-to-make-a-special-number/description/

感觉还是比较难想到的。。

go 复制代码
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
}
相关推荐
gumichef2 分钟前
二叉树_堆
算法
Liangwei Lin13 分钟前
LeetCode 70. 爬楼梯
算法
洛水水32 分钟前
【力扣100题】38.路径总和 III
算法·leetcode·深度优先
小侯不躺平.38 分钟前
C++ Boost库【2】 --stringalgo字符串算法
linux·c++·算法
流年如夢1 小时前
二叉树详解
c语言·数据结构·算法
xiaoxiaoxiaolll1 小时前
Nature Communications:三维超原子库+原子层保护,突破全彩VR超透镜量产瓶颈
人工智能·算法
仍然.1 小时前
算法题目---栈
算法
feifeigo1231 小时前
基于布谷鸟算法的配电网分布式电源选址定容 MATLAB 实现
开发语言·算法·matlab
MicroTech20252 小时前
微算法科技(NASDAQ: MLGO)噪声图像的量子图像边缘提取算法:技术革新与产业赋能
科技·算法·量子计算
大模型最新论文速读2 小时前
EvoLM:8B 模型自写评分标准,RL 后超越 GPT-4
人工智能·深度学习·算法·机器学习·自然语言处理