当前位置: 首页 > news >正文

免费微信小程序商城官网seo查询 站长之家

免费微信小程序商城官网,seo查询 站长之家,做个企业网站多少钱,做营销型网站的教程问题描述 输入:一个字符串 s。输出:最长的无重复字符的子串的长度。 示例 输入: s "abcabcbb" 输出: 3 解释: 最长的无重复字符的子串是 "abc",长度为 3。 输入: s "bbbbb" 输出: 1 解释: 最长的无重复字…

问题描述

  • 输入:一个字符串 s
  • 输出:最长的无重复字符的子串的长度。

示例

  1. 输入: s = "abcabcbb" 输出: 3 解释: 最长的无重复字符的子串是 "abc",长度为 3。

  2. 输入: s = "bbbbb" 输出: 1 解释: 最长的无重复字符的子串是 "b",长度为 1。

  3. 输入: s = "pwwkew" 输出: 3 解释: 最长的无重复字符的子串是 "wke",长度为 3。

约束条件

  • 0 <= s.length <= 5 * 10^4
  • 字符串 s 可以包含英文字符、数字、符号和空格。

解决方案

我们可以使用滑动窗口的方法来解决这个问题。滑动窗口是一种常用的算法技巧,用于处理数组或字符串中的子区间问题。具体步骤如下:

通过这种方法,我们可以高效地找到最长的无重复字符子串,时间复杂度为 O(n),其中 n 是字符串 s 的长度。空间复杂度为 O(min(n, m)),其中 m 是字符集的大小(对于 ASCII 字符集,m 为 128)。

  1. 使用两个指针 left 和 right 来表示当前窗口的左右边界。
  2. 使用一个哈希集合(Set)来存储当前窗口内的字符,以便快速检查字符是否重复。
  3. 移动 right 指针扩展窗口,直到遇到重复字符。
  4. 当遇到重复字符时,移动 left 指针收缩窗口,直到窗口内没有重复字符。
  5. 在每次移动 right 指针时,更新最长子串的长度。
    function lengthOfLongestSubstring(s) {let left = 0;let right = 0;let maxLength = 0;const charSet = new Set();while (right < s.length) {if (!charSet.has(s[right])) {// 如果当前字符不在集合中,将其加入集合charSet.add(s[right]);// 更新最长子串的长度maxLength = Math.max(maxLength, right - left + 1);// 移动右指针right++;} else {// 如果当前字符在集合中,移除左指针指向的字符charSet.delete(s[left]);// 移动左指针left++;}}return maxLength;
    }// 示例用法
    console.log(lengthOfLongestSubstring("abcabcbb")); // 输出: 3
    console.log(lengthOfLongestSubstring("bbbbb"));    // 输出: 1
    console.log(lengthOfLongestSubstring("pwwkew"));   // 输出: 3

    详细解释

  6. 初始化变量

    • left 和 right 分别表示滑动窗口的左右边界,初始值都为 0。
    • maxLength 用于记录最长无重复字符子串的长度,初始值为 0。
    • charSet 是一个集合,用于存储当前窗口内的字符。
  7. 滑动窗口

    • 使用 while 循环遍历字符串 s,直到 right 指针到达字符串末尾。
    • 如果当前字符 s[right] 不在 charSet 中:
      • 将该字符加入 charSet
      • 更新 maxLength 为当前窗口的长度 right - left + 1
      • 移动 right 指针。
    • 如果当前字符 s[right] 已经在 charSet 中:
      • 从 charSet 中移除 s[left]
      • 移动 left 指针。
  8. 返回结果

    • 返回 maxLength 作为最长无重复字符子串的长度。
http://www.hrbkazy.com/news/55916.html

相关文章:

  • 网站 内容建设需要进一步加强营销网络推广哪家好
  • 网络规划设计师考试科目seo优化排名教程
  • 网站备案要多少天百度手机端排名如何优化
  • 桂林市生活网官方网站广西壮族自治区免费百度推广
  • 企业网站开发使用方法北京seo专业团队
  • 百度关键词优化师网站排名优化服务
  • 优秀企业网站的特点java培训班
  • 做网站的技术关键搜索引擎优化公司
  • 政府网站功能外包推广服务
  • 软装设计合同模板seo自然搜索优化排名
  • 公司网站简介怎么做重庆seo排名电话
  • 如何查询在建项目珠海百度关键字优化
  • 江门网站自助建站搜索引擎营销的主要方式有哪些?
  • 抖音代运营找客户话术简阳seo排名优化课程
  • 网站备案后可以改名吗国内疫情最新消息
  • 手机虚拟空间seo网络优化公司哪家好
  • 网站SEO建设新手如何找cps推广渠道
  • 福建省网站备案用户注销(删除)备案申请表东莞网络优化公司
  • 温州做网站建设深圳市seo上词贵不贵
  • 网站过期后多长时间不续费就完了微信搜一搜seo
  • 自己在公司上班做网站宣传 侵权吗seo优化网站推广全域营销获客公司
  • 长沙网站制作收费明细seo网站推广方式
  • 做如美团式网站要多少钱品牌定位
  • 潍城区建设局网站下载百度app下载
  • 乐陵市人民医院广州优化营商环境条例
  • b2b网站建设怎么做常见的网络直接营销有哪些
  • 小程序建站模板成都搜狗seo
  • 上海热门事件北京seo排名厂家
  • 做外贸哪些b2b网站比较有效客户引流的最快方法是什么
  • 在哪个网站里下载的图片可以做展架seo推广多少钱