DeepSeek    LeetCode 3579. 字符串转换需要的最小操作数 Java实现
解题思路采用区间DP 贪心匹配· 核心操作可以将 word1 分割成若干连续子串对每个子串可执行替换、交换、反转三种操作。· 贪心匹配处理一个子串时遇到不匹配的字符对 (a, b)优先寻找之前是否出现过相反的不匹配对 (b, a)。如果找到说明这两个位置可以一次交换同时修复否则记录当前不匹配对等待后续配对。· DP定义dp[i] 表示将 word1[0..i-1] 转换为 word2[0..i-1] 的最小操作数。· 状态转移枚举最后一个子串的起点 j取不反转和先反转两种情况的最小值· dp[i] min(dp[i], dp[j] cost(j, i, false))· dp[i] min(dp[i], dp[j] 1 cost(j, i, true))---Java 实现javaclass Solution {public int minOperations(String word1, String word2) {int n word1.length();int[] dp new int[n 1];for (int i 1; i n; i) {dp[i] Integer.MAX_VALUE;}dp[0] 0;for (int i 1; i n; i) {for (int j 0; j i; j) {// 情况1不反转子串 word1[j..i-1]int cost1 calcCost(word1, word2, j, i, false);dp[i] Math.min(dp[i], dp[j] cost1);// 情况2先反转子串 word1[j..i-1]再处理反转本身消耗1次操作int cost2 calcCost(word1, word2, j, i, true);dp[i] Math.min(dp[i], dp[j] 1 cost2);}}return dp[n];}/*** 计算将 word1[l..r-1] 转换为 word2[l..r-1] 所需的最少操作数只使用替换和交换。* param reversed true 表示先将 word1 的这段子串反转再与 word2 对应位置比较*/private int calcCost(String word1, String word2, int l, int r, boolean reversed) {int[][] pending new int[26][26]; // pending[a][b] 表示等待匹配的 (a, b) 数量int swaps 0; // 交换操作次数 不匹配对数量for (int k 0; k r - l; k) {int idx1 reversed ? r - 1 - k : l k;int idx2 l k;int a word1.charAt(idx1) - a;int b word2.charAt(idx2) - a;if (a b) continue;// 检查是否有相反的 (b, a) 等待配对if (pending[b][a] 0) {pending[b][a]--; // 配对成功抵消一次交换} else {pending[a][b];swaps; // 新增一个待匹配的不匹配对}}return swaps; // 每个不匹配对需要一次交换或替换操作}}---复杂度分析· 时间复杂度O(n³)其中 n ≤ 100。外层枚举 i 和 j 共 O(n²) 种子串calcCost 遍历子串长度 O(n)总计 O(n³)。· 空间复杂度O(n 26²)dp 数组 O(n)计数数组 O(26²) 为常数。

相关新闻

转计算机架构01-C语言学习01

转计算机架构01-C语言学习01

计划以后转到计算机架构方向上去,系统学习一遍C语言基础,参考教材-C程序设计语言(机械工业出版社的计算机黑书),并且结合B站教程来学习1.win安装编译器与配置vscode参考【C语言环境设置 | Windows安装编译器和VS Code】…

2026/7/16 9:02:14阅读更多 →
【信息科学与工程学】计算机科学与自动化-——第十五篇云计算 12 公有云里的“多Region + 多AZ“ 01 算法04

【信息科学与工程学】计算机科学与自动化-——第十五篇云计算 12 公有云里的“多Region + 多AZ“ 01 算法04

编号 类别 模型配方 单/双/多Region+单/双/多AZ IaaS/PaaS/SaaS/其他 功能 应用场景 算法/模型名称 数据结构列表 算法逐步思考推理的数学方程式及参数列表及参数的值范围及各类边界条件 底层硬件需求 时序数学方程式 误差/算法复杂度 底层规律/理论定理 典型应用…

2026/7/16 9:02:14阅读更多 →
零成本构建:利用Docsify与Gitee Pages打造轻量级项目文档中心

零成本构建:利用Docsify与Gitee Pages打造轻量级项目文档中心

1. 为什么选择DocsifyGitee Pages组合? 如果你是一名开发者,肯定遇到过这样的烦恼:项目文档散落在各处,团队成员找不到最新版本;或者想搭建个人技术博客,却被服务器配置和域名备案劝退。这时候,…

2026/7/16 9:02:14阅读更多 →
mevi与eBPF对比:两种Linux内存监控技术的终极指南

mevi与eBPF对比:两种Linux内存监控技术的终极指南

mevi与eBPF对比:两种Linux内存监控技术的终极指南 【免费下载链接】mevi A memory visualizer in Rust (ptrace userfaultfd) 项目地址: https://gitcode.com/gh_mirrors/me/mevi 在Linux系统监控领域,内存可视化是开发者理解程序内存使用情况的…

2026/7/16 20:39:46阅读更多 →
构造函数的深度解析

构造函数的深度解析

目录 摘要: 一:概念 二:分类 三:使用 1:无参构造函数 2:含参构造函数 3:全缺省构造函数 4:多个构造函数 5:总结 四:默认生成的构造函数的作用 1&…

2026/7/16 20:39:46阅读更多 →
如何轻松修复损坏的MP4视频文件?untrunc开源工具深度解析

如何轻松修复损坏的MP4视频文件?untrunc开源工具深度解析

如何轻松修复损坏的MP4视频文件?untrunc开源工具深度解析 【免费下载链接】untrunc Restore a truncated mp4/mov. Improved version of ponchio/untrunc 项目地址: https://gitcode.com/gh_mirrors/un/untrunc 你是否遇到过这样的情况:精心拍摄的…

2026/7/16 20:39:46阅读更多 →
Howl编辑器高级Bundle开发:创建完整的语言支持包

Howl编辑器高级Bundle开发:创建完整的语言支持包

Howl编辑器高级Bundle开发:创建完整的语言支持包 【免费下载链接】howl The Howl Editor 项目地址: https://gitcode.com/gh_mirrors/ho/howl Howl编辑器是一款轻量级且高度可扩展的文本编辑器,通过Bundle机制实现强大的语言支持。本文将带您深入…

2026/7/16 20:39:46阅读更多 →
Home Assistant Floor Plan Generator与Sweet Home 3D联动技巧:模型准备与灯光命名规范

Home Assistant Floor Plan Generator与Sweet Home 3D联动技巧:模型准备与灯光命名规范

Home Assistant Floor Plan Generator与Sweet Home 3D联动技巧:模型准备与灯光命名规范 【免费下载链接】home-assistant-floor-plan Home Assistant Floor Plan Generator Plugin For Sweet Home 3D 项目地址: https://gitcode.com/gh_mirrors/ho/home-assistant…

2026/7/16 20:39:46阅读更多 →
mevi部署指南:远程服务器内存监控的完整配置方案

mevi部署指南:远程服务器内存监控的完整配置方案

mevi部署指南:远程服务器内存监控的完整配置方案 【免费下载链接】mevi A memory visualizer in Rust (ptrace userfaultfd) 项目地址: https://gitcode.com/gh_mirrors/me/mevi 想要在远程服务器上实现高效的内存监控吗?mevi 是一款基于 Rust 开…

2026/7/16 20:34:46阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/16 8:28:11阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/16 6:53:04阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/16 12:02:41阅读更多 →
A--10 Codex Review与GitHub PR工作流实战指南:从代码审查到安全合并

A--10 Codex Review与GitHub PR工作流实战指南:从代码审查到安全合并

摘要:本文系统讲解如何利用Codex App的Review功能与GitHub PR工作流,实现从代码修改到安全合并的完整流程。涵盖Review面板深度使用、/review命令实战、GitHub Connector配置、PR描述撰写技巧,以及常见问题排查方法。通过多个实战案例和流程图,帮助开发者建立高效的AI辅助代…

2026/7/16 0:00:38阅读更多 →
遗传算法解5皇后问题:从Hello World到工业优化的进化实验室

遗传算法解5皇后问题:从Hello World到工业优化的进化实验室

1. 项目概述:为什么用遗传算法解5皇后问题,而不是直接回溯?我带过十几届算法课,也给不少初创团队做过AI架构咨询。每次讲到组合优化问题,学生和工程师的第一反应永远是“写个回溯试试”。这没错——55棋盘上找所有合法…

2026/7/16 0:00:38阅读更多 →
5.1V稳压管输出为何只有4.7V?工作电流与负载影响分析

5.1V稳压管输出为何只有4.7V?工作电流与负载影响分析

前几天调试一个简单的电源模块,用到了5.1V稳压管。电路接好,上电测试,万用表一量——输出居然只有4.7V。第一反应是稳压管坏了,换了一个新的,结果还是4.7V。这让我想起很多初学者都会遇到的困惑:明明标称5.…

2026/7/16 0:00:38阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/16 20:13:14阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/16 8:58:42阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/16 17:10:26阅读更多 →