DeepSeek    LeetCode 3777. 使子字符串变交替的最少删除次数 Python3实现
没问题这是 LeetCode 3777 的 Python 线段树解法。核心思路完全一致通过线段树维护每个区间的左端点字符、右端点字符以及最小删除次数合并时只需检查左右相邻字符是否相同。pythonfrom typing import Listclass Solution:def minDeletions(self, s: str, queries: List[List[int]]) - List[int]:n len(s)arr list(s) # 方便原地修改字符tree [None] * (4 * n 5) # 线段树数组每个节点存 (左字符, 右字符, 删除次数)# ---------- 合并两个相邻区间 ----------def merge(left, right):if left is None:return rightif right is None:return leftlc, rc, cnt left[0], right[1], left[2] right[2]# 左区间的右端点 和 右区间的左端点 相同则必须在交界处删掉一个字符if left[1] right[0]:cnt 1return (lc, rc, cnt)# ---------- 建树 ----------def build(idx, l, r):if l r:tree[idx] (arr[l], arr[l], 0)returnmid (l r) // 2build(idx * 2, l, mid)build(idx * 2 1, mid 1, r)tree[idx] merge(tree[idx * 2], tree[idx * 2 1])# ---------- 单点更新翻转字符 ----------def update(idx, l, r, pos):if l r:# A - B 翻转arr[l] B if arr[l] A else Atree[idx] (arr[l], arr[l], 0)returnmid (l r) // 2if pos mid:update(idx * 2, l, mid, pos)else:update(idx * 2 1, mid 1, r, pos)tree[idx] merge(tree[idx * 2], tree[idx * 2 1])# ---------- 区间查询 ----------def query(idx, l, r, ql, qr):# 完全覆盖if ql l and r qr:return tree[idx]mid (l r) // 2# 只在左半部分if qr mid:return query(idx * 2, l, mid, ql, qr)# 只在右半部分if ql mid:return query(idx * 2 1, mid 1, r, ql, qr)# 跨越左右两部分需要合并left_res query(idx * 2, l, mid, ql, qr)right_res query(idx * 2 1, mid 1, r, ql, qr)return merge(left_res, right_res)# ---------- 处理查询 ----------build(1, 0, n - 1)ans []for q in queries:if q[0] 1: # 更新操作[1, index]update(1, 0, n - 1, q[1])else: # 查询操作[2, l, r]res query(1, 0, n - 1, q[1], q[2])ans.append(res[2])return ans 核心要点提醒1. 合并逻辑left.del right.del (1 if left.rc right.lc else 0) 是解题关键因为只有相邻边界会互相影响。2. 复杂度建树 O(n)每次更新或查询均为 O(log n)总复杂度 O((n q) log n)完美适配 10^5 数据量。3. 索引说明本解法默认 queries 中的下标是 0-basedLeetCode 标准如果你的环境是 1-based记得把更新和查询的索引都减 1。如果对线段树合并的推导还有疑问或者想看看其他写法比如树状数组可以随时告诉我我再给你展开讲讲。

相关新闻

解放双手!三月七小助手让你的星穹铁道日常自动化

解放双手!三月七小助手让你的星穹铁道日常自动化

解放双手!三月七小助手让你的星穹铁道日常自动化 【免费下载链接】March7thAssistant 崩坏:星穹铁道全自动 三月七小助手 项目地址: https://gitcode.com/gh_mirrors/ma/March7thAssistant 还在为《崩坏:星穹铁道》中重复的日常任务感…

2026/7/29 11:58:24 阅读更多 →
三月七小助手:重新定义你的星穹铁道游戏时间管理

三月七小助手:重新定义你的星穹铁道游戏时间管理

三月七小助手:重新定义你的星穹铁道游戏时间管理 【免费下载链接】March7thAssistant 崩坏:星穹铁道全自动 三月七小助手 项目地址: https://gitcode.com/gh_mirrors/ma/March7thAssistant 还在为《崩坏:星穹铁道》中繁琐的日常任务感…

2026/7/29 11:58:24 阅读更多 →
2026年AI创业新方向:BBWEYY GEO优化系统招商机会解析,含零代码SAAS、AI编程、源码定制交付

2026年AI创业新方向:BBWEYY GEO优化系统招商机会解析,含零代码SAAS、AI编程、源码定制交付

2026 AI创业观察2026年AI创业新方向:BBWEYY GEO优化系统招商机会解析生成式AI搜索改变企业获客方式,也带来新的代理服务市场AI搜索正在从新鲜功能变成真实决策入口当用户直接向AI询问品牌和服务商,企业开始关注自己是否出现、是否准确以及为何…

2026/7/29 11:58:24 阅读更多 →

最新新闻

开源模型权重技术解析:格式、加载与生产实践指南

开源模型权重技术解析:格式、加载与生产实践指南

开源模型权重是深度学习项目能够被他人复现、改进和部署的关键资产。它记录了模型训练完成后各层神经网络的参数数值,相当于模型的“记忆”和“知识”。没有权重文件,一个开源模型就只是一套架构描述,无法实际运行或推理。最近开源社区出现了…

2026/7/29 12:06:27 阅读更多 →
终极指南:让Windows系统轻松访问Linux MD RAID设备

终极指南:让Windows系统轻松访问Linux MD RAID设备

终极指南:让Windows系统轻松访问Linux MD RAID设备 【免费下载链接】winmd WinMD 项目地址: https://gitcode.com/gh_mirrors/wi/winmd WinMD项目是一个功能强大的开源驱动程序,专门解决Windows系统无法直接访问Linux MD RAID设备的技术难题。如果…

2026/7/29 12:06:27 阅读更多 →
如何搭建生产报工系统?

如何搭建生产报工系统?

本文要点本文从某装备零部件制造企业搭建个性化报工体系的实践出发,按照入门、进阶、高阶三层能力划分梳理生产报工系统的搭建路径,并以轻流为代表对比不同工具在各层级的能力匹配,为不同阶段的制造企业提供分层参考的搭建指南。导语报工是制…

2026/7/29 12:06:27 阅读更多 →
STM32 DAC高频输出实战:从建立时间到DMA触发,突破音频信号生成瓶颈

STM32 DAC高频输出实战:从建立时间到DMA触发,突破音频信号生成瓶颈

1. 项目缘起:从“能响”到“好听”的DAC进阶之路搞嵌入式开发的朋友,尤其是玩过STM32的,对DAC(数模转换器)肯定不陌生。最常见的入门实验,无非是配置一下DAC,让它输出个固定电压,点个…

2026/7/29 12:06:27 阅读更多 →
有源医疗器械报警术语 | 栓锁(Latching)与非栓锁(non-Latching)报警

有源医疗器械报警术语 | 栓锁(Latching)与非栓锁(non-Latching)报警

想象一下你家的烟雾报警器,它有两种工作模式:模式一:非栓锁报警(像“智能”烟雾报警器)工作方式:当烟雾(报警条件)出现时,报警器会大声尖叫。一旦烟雾散去(报…

2026/7/29 12:06:27 阅读更多 →
半导体人的英语:阅读原版spec的“生存法则”让上手速度翻倍

半导体人的英语:阅读原版spec的“生存法则”让上手速度翻倍

01 问题背景:等一份翻译,等丢了整个窗口去年三月,我们产线新引进了一台海外二手薄膜设备,随机附带的只有一份三百多页的原版英文操作手册和一份加密的工艺spec。设备到货第三天就报了一个我从没见过的报警代码,界面上跳…

2026/7/29 12:05:27 阅读更多 →

日新闻

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:00:23 阅读更多 →
AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础 在上一期「AI编程系列」中,我们学习了如何构建一个基础的 AI 问答系统,通过简单的输入输出让模型回应问题。但现实世界中的 AI 应用往往需要处理更复杂的场景:…

2026/7/29 0:00:23 阅读更多 →
AI智能体开发实战:从工具调用到企业级部署

AI智能体开发实战:从工具调用到企业级部署

1. 从被动问答到主动执行:AI Agent的范式转变过去两年,大语言模型最显著的应用形态是聊天机器人——用户提问,AI回答。但真正的生产力革命发生在2023年下半年:当AI学会主动调用工具完成任务时,生产力工具的历史被彻底改…

2026/7/29 0:00:23 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻