算法练习4-最长无重复子串
//-------------------字符串所有子串 - 递归--------------------------- var strFromSubStr = function (str) { let result = [] function dfs (s) { if (s.length === 1) { result.push(s) return result } let one = s[0] let subs = dfs(s.slice(1)) subs.forEach(ss => { result.push(one, one + ss) }) return result } dfs(str) return [...new Set(result)] }
// ------------------最长无重复子串---------------------------- var lengthOfLongestSubstring = function(s) { let max = 0 let left = 0 let right = 1 let l = 0 let r = 0 if (s.length === 0 || s.length === 1) return s.length while (right < s.length) { let sub = s.slice(left, right) if (sub.indexOf(s[right]) > -1) { left++ continue } else { right++ } if (right - left > max) { max = right - left l = left r = right } } console.log(s.slice(l, r)) return s.slice(l, r).length };
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)