恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

文心大模型 LeetCode 5.最长回文子串 TypeScript实现

  • 首页
  • 资讯中心
  • /
  • 文心大模型 LeetCode 5.最长回文子串 TypeScript实现

相关资讯

微服务基座 2026/8/26 15:07:11
OpenClaw一键配置教程,TopClaw三分钟免代码开箱即用 2026/8/26 15:07:11
Loop macOS 窗口管理完整指南:5 分钟跑通径向菜单与预览 2026/8/26 15:07:11

最新资讯

如何10分钟上手rv:从零编译运行你的第一个RISC-V CPU模拟器(零基础教程)
如何快速用 SlimMessageBus 替代 MassTransit:Azure Service Bus 迁移指南与代码对照
批量推理效率翻倍:InternVL3-2B-hf 多图混合输入终极实战
mermaid.cli 原理揭秘:Puppeteer+无头Chrome如何将一个.mmd文件变成SVG、PNG和PDF
Qwen3.8-2B-Distill-GGUF完整指南:如何在本地电脑跑强2B蒸馏小模型,一文看懂5档量化与端侧推理
MJCF和URDF模型不一致怎么办?mujoco-learning教你手动对齐并验证FK一致性

今日推荐

Python random 模块常用函数详解:从入门到实战
Hermes接入团队协作后,我推翻了三个效率假设
免费AI大模型调教指南:打造专属网文写作助手

本周热门

Nextcloud 桌面客户端:把同步交给它,你只管改文件
如何将 HTML 转成 Word 文档且格式不丢失?html-to-docx 使用教程
Anki 批量操作卡片完整指南:一次搞定上千张,不再逐张修改

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

文心大模型 LeetCode 5.最长回文子串 TypeScript实现

发布时间:2026/8/26 15:07:11
文心大模型    LeetCode 5.最长回文子串 TypeScript实现 LeetCode 5. 最长回文子串 - TypeScript 实现方法一中心扩展法推荐时间复杂度: O(n²) |空间复杂度: O(1)【typescript】function longestPalindrome(s: string): string {if (s.length 2) return s;let start 0;let maxLen 1;// 中心扩展函数const expandAroundCenter (left: number, right: number): void {while (left 0 right s.length s[left] s[right]) {const currentLen right - left 1;if (currentLen maxLen) {maxLen currentLen;start left;}left--;right;}};for (let i 0; i s.length; i) {// 奇数长度回文单字符中心expandAroundCenter(i, i);// 偶数长度回文双字符中心expandAroundCenter(i, i 1);}return s.substring(start, start maxLen);}方法二动态规划时间复杂度: O(n²) |空间复杂度: O(n²)【typescript】function longestPalindrome(s: string): string {const n s.length;if (n 2) return s;// dp[i][j] 表示 s[i..j] 是否为回文const dp: boolean[][] Array.from({ length: n }, () new Array(n).fill(false));let start 0;let maxLen 1;// 单个字符都是回文for (let i 0; i n; i) {dp[i][i] true;}// 枚举子串长度for (let len 2; len n; len) {for (let i 0; i n - len; i) {const j i len - 1;if (s[i] s[j]) {if (len 2) {dp[i][j] true;} else {dp[i][j] dp[i 1][j - 1];}}if (dp[i][j] len maxLen) {maxLen len;start i;}}}return s.substring(start, start maxLen);}方法三Manacher 算法最优时间复杂度: O(n) |空间复杂度: O(n)【typescript】function longestPalindrome(s: string): string {if (s.length 2) return s;// 预处理插入特殊字符统一奇偶情况// 例: aba - ^#a#b#a#$const t ^# s.split().join(#) #$;const n t.length;const p: number[] new Array(n).fill(0); // p[i] 表示以 t[i] 为中心的回文半径let center 0; // 当前回文中心let right 0; // 当前回文右边界for (let i 1; i n - 1; i) {const mirror 2 * center - i; // i 关于 center 的对称点if (i right) {p[i] Math.min(right - i, p[mirror]);}// 尝试扩展while (t[i p[i] 1] t[i - p[i] - 1]) {p[i];}// 更新中心和右边界if (i p[i] right) {center i;right i p[i];}}// 找到最大半径及其位置let maxLen 0;let centerIndex 0;for (let i 1; i n - 1; i) {if (p[i] maxLen) {maxLen p[i];centerIndex i;}}const start Math.floor((centerIndex - maxLen) / 2);return s.substring(start, start maxLen);}测试用例【typescript】// 测试console.log(longestPalindrome(babad)); // bab 或 abaconsole.log(longestPalindrome(cbbd)); // bbconsole.log(longestPalindrome(a)); // aconsole.log(longestPalindrome(ac)); // a 或 cconsole.log(longestPalindrome(racecar)); // racecar算法对比【表格】方法 时间复杂度 空间复杂度 适用场景中心扩展 O(n²) O(1) ✅ 面试推荐简洁高效动态规划 O(n²) O(n²) 需要子问题信息时Manacher O(n) O(n) 追求极致性能面试建议优先掌握中心扩展法思路清晰、代码简洁如有余力再提 Manacher 算法作为优化方案。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号