DeepSeek    LeetCode 3830. 移除至多一个元素后的最长交替子数组 Rust实现
针对 LeetCode 3830“移除至多一个元素后的最长交替子数组”这里提供 Rust 实现采用 动态规划 (O(n) 时间, O(1) 空间)代码高效且安全。---核心思路维护 4 个状态以当前元素结尾· inc0最后一段比较为 上升 ()未删除元素· dec0最后一段比较为 下降 ()未删除元素· inc1最后一段比较为 上升已删除一个元素· dec1最后一段比较为 下降已删除一个元素每个状态初始为 1仅包含当前元素本身。转移遍历 i 从 1 到 n-11. 正常延续不删除 i-1· 若 nums[i] nums[i-1]inc0 dec0_prev 1inc1 dec1_prev 1· 若 nums[i] nums[i-1]dec0 inc0_prev 1dec1 inc1_prev 12. 删除 i-1使用一次删除机会需 i 2比较 nums[i] 与 nums[i-2]· 若 nums[i] nums[i-2]inc1 max(inc1, dec0_prev2 1)· 若 nums[i] nums[i-2]dec1 max(dec1, inc0_prev2 1)3. 每个状态至少为 1重新开始。---Rust 代码实现rustimpl Solution {pub fn longest_alternating(nums: Veci32) - i32 {let n nums.len();if n 0 {return 0;}if n 1 {return 1;}// 初始状态以 nums[0] 结尾let (mut inc0, mut dec0) (1, 1);let (mut inc1, mut dec1) (1, 1);let mut ans 1;// 保存 i-2 时的未删除状态初始不存在设为 0let (mut inc0_prev2, mut dec0_prev2) (0, 0);for i in 1..n {// 保存当前状态作为下一轮迭代的 prev2let (next_inc0, next_dec0) (inc0, dec0);// 保存上一轮状态prev1let (prev_inc0, prev_dec0) (inc0, dec0);let (prev_inc1, prev_dec1) (inc1, dec1);// 重置当前状态至少为 1inc0 1;dec0 1;inc1 1;dec1 1;// ---- 正常延续不删除 i-1 ----if nums[i] nums[i - 1] {inc0 inc0.max(prev_dec0 1);inc1 inc1.max(prev_dec1 1);} else if nums[i] nums[i - 1] {dec0 dec0.max(prev_inc0 1);dec1 dec1.max(prev_inc1 1);}// ---- 删除 i-1跳过中间元素 ----if i 2 {if nums[i] nums[i - 2] {inc1 inc1.max(dec0_prev2 1);} else if nums[i] nums[i - 2] {dec1 dec1.max(inc0_prev2 1);}}// 更新全局最大值ans ans.max(inc0).max(dec0).max(inc1).max(dec1);// 更新 i-2 状态为旧的 i-1 状态即本次迭代前的 inc0/dec0inc0_prev2 next_inc0;dec0_prev2 next_dec0;}ans as i32}}---复杂度分析· 时间复杂度O(n)单次遍历。· 空间复杂度O(1)仅使用常数个变量。---测试用例可自行添加rustfn main() {let sol Solution;assert_eq!(sol.longest_alternating(vec![1, 2, 3, 4]), 2);assert_eq!(sol.longest_alternating(vec![1, 3, 2, 4]), 4); // 不删除即满足assert_eq!(sol.longest_alternating(vec![1, 2, 1, 3, 2]), 5); // 删除一个元素后可达assert_eq!(sol.longest_alternating(vec![1, 1, 1]), 1);assert_eq!(sol.longest_alternating(vec![1, 2]), 2);}该实现直接对应 LeetCode 的 Rust 模板可直接提交使用。如需进一步解释欢迎追问

相关新闻

DeepSeek    LeetCode 3830. 移除至多一个元素后的最长交替子数组 Python3实现

DeepSeek LeetCode 3830. 移除至多一个元素后的最长交替子数组 Python3实现

针对 LeetCode 3830“移除至多一个元素后的最长交替子数组”,这里提供两种 Python3 解法:动态规划 (O(n) 时间, O(1) 空间) 和前后缀分解 (O(n) 时间, O(n) 空间)。---解法一:动态规划(推荐)维护 4 个状态,…

2026/8/8 8:41:33 阅读更多 →
Win7/Win8系统OCX控件自动注册工具:VC++源码解析与实战部署

Win7/Win8系统OCX控件自动注册工具:VC++源码解析与实战部署

1. 项目概述:一个被低估的“系统级”运维利器如果你是一名在Windows 7或Windows 8环境下工作的软件开发者、系统管理员,或者需要部署大量依赖ActiveX控件的行业应用(比如某些老旧的财务软件、工业控制软件、教育软件),…

2026/8/8 8:40:32 阅读更多 →
百度千帆模型创建agent(BCA案例汽车故障检查助手)(一)

百度千帆模型创建agent(BCA案例汽车故障检查助手)(一)

百度千帆模型实操体验 数据集上传及清洗功能过滤去重去隐私创建知识库 创建汽车维修知识库创建agent应用走API查询走知识库路由查询

2026/8/8 8:40:32 阅读更多 →

最新新闻

智能体平台哪家好?2026主流企业级AI Agent平台对比与选型建议

智能体平台哪家好?2026主流企业级AI Agent平台对比与选型建议

本文目录:一、为什么企业必须关注智能体平台的选型?二、市场上有哪些主要的智能体平台类型?三、中关村科金得助智能体平台具备哪些核心优势?四、企业在评估智能体平台时有哪些常见疑问?(FAQ)五、…

2026/8/8 9:37:58 阅读更多 →
构建个人数字记忆堡垒:从备份原理到NAS与云盘组合方案实战

构建个人数字记忆堡垒:从备份原理到NAS与云盘组合方案实战

1. 项目概述:一场关于数字记忆的“自救”行动 你有没有经历过那种瞬间的恐慌?手机突然黑屏,或者提示存储空间已满,里面存着孩子从出生到现在的所有照片、记录着重要时刻的视频,还有那些再也无法复刻的生活片段。几年前…

2026/8/8 9:37:58 阅读更多 →
RAG技术工程化实战:从混合检索到Agent集成的核心架构解析

RAG技术工程化实战:从混合检索到Agent集成的核心架构解析

1. 从喧嚣到沉淀:RAG技术现状的深度观察最近和几个做AI应用落地的朋友聊天,发现一个挺有意思的现象:大家讨论的焦点,似乎正从去年火得一塌糊涂的RAG(检索增强生成),悄悄转向了AI Agent、工作流编…

2026/8/8 9:37:58 阅读更多 →
Meta开源AI编程助手Muse本地部署指南:从环境配置到项目级微调

Meta开源AI编程助手Muse本地部署指南:从环境配置到项目级微调

如果你是一名开发者,最近可能已经感受到了 AI 编程助手领域的“军备竞赛”正在加速。从 GitHub Copilot 到 Cursor,再到各种本地化模型,选择越来越多,但痛点也愈发明显:要么是云端服务响应慢、数据安全存疑&#xff0c…

2026/8/8 9:37:58 阅读更多 →
【研知有术论文发表】Elsevier旗下的黑马SSCI期刊推荐,聚焦乡村振兴、土地资源领域,录用率高

【研知有术论文发表】Elsevier旗下的黑马SSCI期刊推荐,聚焦乡村振兴、土地资源领域,录用率高

ISSN:0743-0167五年影响因子:6.1收录数据库:SSCI、Scopus等丨期刊简介《Journal of Rural Studies》是一本农村研究领域享有盛誉的国际权威期刊。创刊于1994年,由国际出版巨头Elsevier出版,非OA期刊。近五年中科院无预…

2026/8/8 9:37:58 阅读更多 →
黄金数据集、合成测试集与生产Trace怎么选?AI应用评测数据建设完整指南

黄金数据集、合成测试集与生产Trace怎么选?AI应用评测数据建设完整指南

文章摘要 AI应用评测最常见的问题不是缺少评分工具,而是数据集无法代表真实业务。团队可能使用几十条产品经理手写问题,得到95%的离线通过率;上线后却发现真实用户会输入错别字、长文档、多轮指代、矛盾要求、权限边界和复杂工具任务&#xf…

2026/8/8 9:36:57 阅读更多 →

日新闻

AI多智能体时代来临,读懂MCP与A2A架构,抢占企业数字化新风口

AI多智能体时代来临,读懂MCP与A2A架构,抢占企业数字化新风口

当下AI应用飞速普及,无数企业下场搭建智能体系统,可落地阶段难题接踵而至:上下文无限堆积频繁爆栈、AI工具调用准确率低下、Token成本居高不下、企业数据权限混乱暗藏安全隐患……很多团队卡在架构搭建环节,空有前沿技术概念&…

2026/8/8 0:00:07 阅读更多 →
PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码

PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码

PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码 【免费下载链接】php-qrcode A PHP QR Code generator and reader with a user-friendly API. 项目地址: https://gitcode.com/gh_mirrors/ph/php-qrcode 在当今数字时代,二维码已…

2026/8/8 0:00:08 阅读更多 →
UniApp微信小程序隐私保护组件开发:从原理到实战

UniApp微信小程序隐私保护组件开发:从原理到实战

1. 项目缘起:为什么我们需要一个隐私保护通用组件?最近在维护一个基于uniapp开发的微信小程序矩阵时,我遇到了一个非常棘手的问题。随着平台对用户隐私保护的要求越来越严格,几乎每一个新版本发布,或者在某些特定机型&…

2026/8/8 0:00:08 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/8 8:58:26 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/7 23:24:08 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/7 17:02:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/7 23:54:54 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/7 17:02:36 阅读更多 →