豆包 LeetCode 3 无重复字符的最长子串 Rust实现

发布时间:2026/10/20 19:17:29

豆包    LeetCode 3 无重复字符的最长子串  Rust实现 LeetCode 3 无重复字符的最长子串函数签名 pub fn length_of_longest_substring(s: String) - i32最优解法滑动窗口用数组记录字符最近一次下标O(n)时间O(1)空间适配ASCII字符。rustpub fn length_of_longest_substring(s: String) - i32 {let bytes s.as_bytes();// last_pos[c] 保存字符c上一次出现的索引初始为 -1let mut last_pos [-1i32; 128];let mut left 0i32;let mut max_len 0i32;for (idx, ch) in bytes.iter().enumerate() {let cur_idx idx as i32;let c ch as usize;// 当前字符在窗口内重复左边界跳到重复字符下一位if last_pos[c] left {left last_pos[c] 1;}last_pos[c] cur_idx;max_len max_len.max(cur_idx - left 1);}max_len}#[cfg(test)]mod tests {use super::*;#[test]fn test_case() {assert_eq!(length_of_longest_substring(abcabcbb.into()), 3);assert_eq!(length_of_longest_substring(bbbbb.into()), 1);assert_eq!(length_of_longest_substring(pwwkew.into()), 3);assert_eq!(length_of_longest_substring(.into()), 0);}}要点说明1. left 只向右移动不会回退每个字符仅遍历一次 O(n)2. 固定大小 [‑1;128] 数组空间复杂度 O(1)3. 兼容空字符串边界。如果输入包含完整Unicode非ASCII字符需要改用 HashMapchar,i32 版本需要我一并给出吗。
延伸阅读

更多相关文章

2026/10/20 19:17:19

rea项目解析:实时事件流的递归解析与响应机制

1. 从“rea”这个标题说起:一个被低估的万能缩写第一次看到“rea”这个标题的时候,我脑子里蹦出来的第一反应是——这大概率又是一个被缩写玩坏的项目名。做技术的人都有个毛病,喜欢把长名字砍成三四个字母,图省事、图好记、图在命…

2026/10/20 19:17:19

Muse开源AI Agent硬件框架:ESP32-S3+树莓派离线智能终端实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 19:17:19

ThinkPHP实战:构建礼品卡回收订单系统,从卡密到打款全流程

简介:基于Thinkphp框架开发的百分百收卡网点卡回收、礼品卡兑换与二手礼品卡回收网站源码,适合有PHP开发基础的站长或二次开发者快速搭建线上回收交易平台。整份资源共2000个文件,压缩包约47.57MB,主要包含1157个php后端逻辑、246…

2026/10/20 19:17:19

ESP32多项目开发工作台:环境隔离与依赖锁定实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 19:17:19

ESP32-S3 Dev Module 从选型到 Arduino 开发踩坑实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 19:12:11

从零理解感知机:原理、损失函数与随机梯度下降实战

感知机这东西,算是我接触机器学习时第一个让我觉得“原来机器真能自己学东西”的模型。现在回头再看,它确实简单得有点过分——一个线性函数套个符号函数,加一个极其朴素的更新规则,没了。但就是这么一个看似简陋的算法&#xff0…

2026/10/19 18:06:35

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/20 1:05:37

单片机C运行时从启动到多任务:中断安全与共享资源冲突

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:05:37

GCC编译四步详解:预处理、编译、汇编、链接实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:05:37

FIW线是什么?FEP注塑线与普通氟塑料线的区别及应用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑