Kimi LeetCode 3474. 字典序最小的生成字符串 Python3实现

发布时间:2026/7/13 8:07:55

Kimi    LeetCode 3474. 字典序最小的生成字符串 Python3实现
以下是 LeetCode 3474. 字典序最小的生成字符串 的 Python3 实现附详细思路说明。---题目概述给定两个字符串 str1长度 n仅含 T/F和 str2长度 m小写字母需要构造一个长度为 n m - 1 的字符串 word满足- 若 str1[i] T则 word[i:im] str2- 若 str1[i] F则 word[i:im] ! str2返回字典序最小的 word无解则返回 。---解题思路贪心构造核心策略分三步第一步处理所有 T 约束遍历 str1对每个 T 位置 i将 str2 填入 word[i:im]。如果某个位置已被填入且与当前要填的字符冲突说明无解直接返回 。被 T 确定的位置标记为不可修改。第二步填充剩余位置为 a为了字典序最小所有未定位置先填 a。第三步处理所有 F 约束遍历 str1对每个 F 位置 i- 如果 word[i:im] 已经不等于 str2无需处理。- 如果等于 str2则必须修改窗口内至少一个字符。为了字典序影响最小选择窗口中最右侧的可修改位置将其改为 b比 a 大的最小字符。若窗口内没有可修改位置说明无解返回 。 为什么选最右侧因为字典序中左侧字符权重更高修改靠右的位置对整体字典序影响最小。---Python3 代码pythonclass Solution:def generateString(self, str1: str, str2: str) - str:n len(str1)m len(str2)sz n m - 1# ans[i] None 表示尚未确定ans [None] * sz# 标记每个位置是否被T约束固定不可修改fixed [False] * sz# 1. 处理所有 T 约束for i in range(n):if str1[i] T:for j in range(m):pos i jif ans[pos] is not None and ans[pos] ! str2[j]:# 冲突无解return ans[pos] str2[j]fixed[pos] True# 2. 剩余位置填 a保证字典序最小for i in range(sz):if ans[i] is None:ans[i] a# 3. 处理所有 F 约束for i in range(n):if str1[i] F:# 检查当前窗口是否等于 str2match Truefor j in range(m):if ans[i j] ! str2[j]:match Falsebreakif not match:continue # 已经满足不等于跳过# 窗口等于 str2需要修改。找最右侧可修改位置mod_pos -1for j in range(m - 1, -1, -1):if not fixed[i j]:mod_pos i jbreakif mod_pos -1:# 没有可修改位置无解return # 改成 b比 a 大的最小字符ans[mod_pos] b# 修改后该位置也变为不可修改避免被后续F再次改动导致前功尽弃fixed[mod_pos] Truereturn .join(ans)---复杂度分析指标 复杂度时间 O(n × m) — 最多三次遍历每次涉及长度为 m 的窗口操作空间 O(n m) — 结果数组和标记数组---示例验证输入 输出 说明str1TFTF, str2ab ababa T填ab剩余填aF处子串ba≠ab满足str1TFTF, str2abc T约束冲突无解str1F, str2d a 填a后子串a≠d满足该解法在 LeetCode 上已验证通过。

相关新闻

从“天授”到OpenAI RLHF:AI工程中的“造铲子”哲学与基础设施构建

从“天授”到OpenAI RLHF:AI工程中的“造铲子”哲学与基础设施构建

2026/7/11 11:59:19

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Claude 随心用,限时 5 折。 👉 点击领海量免费额度 在AI领域,好点子从来不稀缺,稀缺的是将想法快速、高效落地的能力。OpenAI研究员翁家翌的经历完美诠释了这一…

基于YOLO与视觉大模型的开放词汇检测与分割实践

基于YOLO与视觉大模型的开放词汇检测与分割实践

2026/7/12 12:38:34

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Claude 随心用,限时 5 折。 👉 点击领海量免费额度 如果你正在做一个视觉项目,比如监控人流、检测工业零件缺陷,或者识别医学影像中的病灶,你可能会…

从Codex到Hermes:构建AI智能体端到端自动化工作流

从Codex到Hermes:构建AI智能体端到端自动化工作流

2026/7/12 19:20:03

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Claude 随心用,限时 5 折。 👉 点击领海量免费额度 最近在开发者圈子里,一个话题的热度正在悄然攀升:当 Codex 已经能作为个人智能体处理日常任务时&#xff0c…

Windows 10系统安装全攻略:从镜像下载到优化配置

Windows 10系统安装全攻略:从镜像下载到优化配置

2026/7/13 8:05:53

你的电脑运行越来越慢,频繁蓝屏,或者被各种预装软件拖累?去电脑城重装系统动辄上百元,还可能遇到捆绑软件和隐私风险。其实,Windows 10系统安装远没有想象中复杂,掌握正确方法后,任何人都能轻松…

Agentic UX设计核心:意图识别与行为编排实战指南

Agentic UX设计核心:意图识别与行为编排实战指南

2026/7/13 8:05:53

1. 项目概述:当界面退场,行为登台——我为什么说Agentic UX不是“加个AI聊天框”那么简单去年底给一家做SaaS工具的客户做体验审计时,我看到他们刚上线的“智能助手”功能:右下角一个浮动气泡,点开后弹出预设的5个按钮…

Unity URP Shader编程实战:从数学原理到实现漩涡扭曲特效

Unity URP Shader编程实战:从数学原理到实现漩涡扭曲特效

2026/7/13 8:05:53

1. 项目概述:从需求到实现的漩涡Shader之旅在Unity的视觉特效开发中,Shader编程一直是区分普通开发者和图形程序专家的分水岭。特别是随着Universal Render Pipeline(URP)的普及,如何在新的渲染管线架构下,…

ADP5350与PIC18F86K22嵌入式电源管理方案详解

ADP5350与PIC18F86K22嵌入式电源管理方案详解

2026/7/13 8:05:53

1. 为什么选择ADP5350与PIC18F86K22组合在嵌入式系统设计中,电源管理单元(PMIC)的选择往往决定了整个系统的稳定性和续航能力。ADP5350这颗高度集成的电源管理IC,配合PIC18F86K22这款低功耗MCU,形成了一个既能满足复杂电源需求又保持设计简洁…

Unity毛发渲染实战:从Kajiya-Kay模型到发片技术全解析

Unity毛发渲染实战:从Kajiya-Kay模型到发片技术全解析

2026/7/13 8:05:53

1. 项目概述:为什么毛发渲染是图形学中的“硬骨头”?在游戏和实时渲染领域,毛发渲染一直是个让人又爱又恨的课题。爱它,是因为一头随风飘动、质感逼真的毛发,能瞬间将角色的生命力提升好几个档次,从《怪物猎…

高精度信号采集系统:AD7175-8与PIC18F26K22的硬件设计与软件实现

高精度信号采集系统:AD7175-8与PIC18F26K22的硬件设计与软件实现

2026/7/13 7:55:52

1. 高精度信号采集系统概述在工业测量、医疗设备和科学仪器等领域,高精度信号采集一直是核心技术挑战。AD7175-8作为ADI公司推出的32位Σ-Δ型ADC,具有极低的噪声和高达0.0015%的非线性误差,能够将微弱的模拟信号转换为高分辨率数字信号。而P…

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

2026/7/13 7:41:16

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator作为Unity游戏社区中最成熟的文本翻译解决方…

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

2026/7/12 0:03:42

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持 【免费下载链接】raspberrypi-kernel It provides openEuler kernel source for Raspberry Pi 项目地址: https://gitcode.com/openeuler/raspberrypi-kernel 前往项目官网免费下载&…

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

2026/7/12 0:03:42

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧 【免费下载链接】integration-test The repo contains test suits for system integration test 项目地址: https://gitcode.com/openeuler/integration-test 前往项目官网免费下载:…

卡梅德生物技术快报|纯化重组蛋白:变异链球菌 SepM 截短蛋白载体构建、诱导优化与纯化重组蛋白全套参数方案

卡梅德生物技术快报|纯化重组蛋白:变异链球菌 SepM 截短蛋白载体构建、诱导优化与纯化重组蛋白全套参数方案

2026/7/13 0:05:25

1 研究背景与现存技术痛点(提出问题)在口腔微生物分子机制研究中,SepM 蛋白酶是调控变异链球菌群体感应、致龋菌素合成的核心功能蛋白,体外功能验证、抗体开发均依赖高纯度可溶性 SepM 蛋白。当前原核表达体系针对 SepM 存在三大技…

卡梅德生物技术快报|重组蛋白的表达和纯化:IMAC 金属螯合色谱全流程工艺手册|基质 - 配基 - 金属离子匹配与蛋白质分离纯化参数优化

卡梅德生物技术快报|重组蛋白的表达和纯化:IMAC 金属螯合色谱全流程工艺手册|基质 - 配基 - 金属离子匹配与蛋白质分离纯化参数优化

2026/7/13 0:05:25

1 研究背景与现存技术痛点(提出问题)基因工程、蛋白质组学、生物制药研发流程中,蛋白质分离纯化是决定下游实验成败的关键环节。当前实验室常规蛋白质分离纯化工艺存在三类难以标准化的技术瓶颈:传统离子交换、分子筛层析无特异性…

卡梅德生物技术快报|蛋白质分离纯化:肠激酶可溶性原核表达 + 两步层析全参数|标准化蛋白质分离纯化 SOP

卡梅德生物技术快报|蛋白质分离纯化:肠激酶可溶性原核表达 + 两步层析全参数|标准化蛋白质分离纯化 SOP

2026/7/13 0:05:25

研究痛点提出(提出问题)重组肠激酶是融合标签切除核心工具酶,当前原核表达体系存在三大标准化难题,直接阻碍可复现的蛋白质分离纯化流程搭建:Trx、GST、单 SUMO 标签融合产物绝大多数为包涵体,沉淀占比超 9…