力扣2025.10.19每日一题

用了斐蜀定理

那么看到形如左半边的式子,则可按照这个方向思考。

在本题的运用是,确定能到第一个位置的元素位置,和确定num通过加法操作,能到的最小值。

同时注意对奇数和偶数位置的轮换,也就是说奇数的轮换操作有两个开头,偶数的轮换操作只有一个开头。

学习的灵神代码

代码如下:

python 复制代码
class Solution:
    def findLexSmallestString(self, s: str, a: int, b: int) -> str:
        s = list(map(int,s))
        n = len(s)
        step = gcd(b,n)
        g  = gcd(a,10)
        ans = [inf]
        def modify(start):
            ch = t[start]
            inc = ch%g - ch 
            if inc:
                for j in range(start,n,2):
                    t[j] = (t[j] +inc)%10 
        for  i in range(0,n,step):
            t = s[i:] +s[:i]
            modify(1)
            if step%2 :
                modify(0)
            ans = min(ans,t)
        return ''.join(map(str,ans))

还有就是这个操作很值得注意!!!

如果 gcd(b,n) 是奇数,轮转一次后,原来的偶数下标变成奇数下标。可以先轮转一次,执行累加,再轮转到我们想要的位置。可以视作我们拥有了「对偶数下标执行累加操作」的能力。

作者:灵茶山艾府

链接:https://leetcode.cn/problems/lexicographically-smallest-string-after-applying-operations/solutions/3797297/mei-ju-lun-zhuan-dao-zui-zuo-bian-de-xia-wuu3/

来源:力扣(LeetCode)

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关推荐
爱睡懒觉的焦糖玛奇朵6 小时前
【从视频到数据集:焦糖玛奇朵的魔法工具使用说明】
人工智能·python·深度学习·学习·算法·yolo·音视频
Runawayliquor7 小时前
opbase:CANN 所有算子的公共地基
大数据·数据库·人工智能·算法
徐安安ye7 小时前
FlashAttention 为什么对序列长度这么“敏感”?
人工智能·算法
黎阳之光8 小时前
黎阳之光:以视频孪生重构智能监盘,为燃机打造新一代智慧电厂大脑
大数据·人工智能·算法·安全·数字孪生
绝知此事9 小时前
【算法突围 02】树形结构与数据库索引:树形结构与数据库索引:从 BST 到 B+ 树的演化与 MySQL 优化
数据库·mysql·算法·面试·b+树
清木!9 小时前
排序算法比较
数据结构·算法·排序算法
dayuOK630710 小时前
AI内容创作工具的下一个战场:从“生成”到“全流程自动化”
运维·人工智能·chatgpt·职场和发展·自动化·新媒体运营·媒体
吴可可12310 小时前
用Teigha修改并保存CAD文件
数据库·算法·c#
灰灰勇闯IT11 小时前
ops-reduce:ReduceMax 与 ReduceMean 的并行优化
算法
水木流年追梦11 小时前
大模型入门-Reward 奖励模型训练
开发语言·python·算法·leetcode·正则表达式