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

完善企业网站建设淘宝关键词查询工具

完善企业网站建设,淘宝关键词查询工具,分享设计作品网站,潜山做网站目录 题目 解题思路:滑动窗口 哈希表 核心思想 详细实现步骤 图解示例 时间和空间复杂度 正确的写法 题目 3. 无重复字符的最长子串 - 力扣(LeetCode) 解题思路:滑动窗口 哈希表 滑动窗口是处理子串/子数组问题的常用技…

目录

题目

解题思路:滑动窗口 + 哈希表

核心思想

详细实现步骤

图解示例

时间和空间复杂度

正确的写法


题目

3. 无重复字符的最长子串 - 力扣(LeetCode)

解题思路:滑动窗口 + 哈希表

滑动窗口是处理子串/子数组问题的常用技巧,结合哈希表可以高效解决此问题。

核心思想

维护一个"窗口",这个窗口内的所有字符都是不重复的。当遇到重复字符时,调整窗口左边界,确保窗口内无重复字符。

详细实现步骤

  1. 初始化:
  • 创建哈希表记录字符出现次数
  • 左指针left和右指针right初始化为0
  • 最大长度ret初始化为0
  1. 扩展窗口:
  • 右指针right向右移动,将当前字符加入窗口
  • 更新哈希表中该字符的计数
  1. 处理重复:
  • 如果当前字符在窗口中已存在(计数>1)
  • 不断移动左指针left,同时减少对应字符的计数
  • 直到窗口中不再有重复字符
  1. 更新结果:
  • 每次调整窗口后,计算当前无重复子串的长度
  • 更新最大长度ret
  1. 继续扩展:
  • 右指针继续向右移动,重复步骤2-4

图解示例

以字符串 "abcabcbb" 为例:

初始状态:

字符串: a b c a b c b b↑l,r
哈希表: {}
最大长度: 0

步骤1:右指针移动到'a'

字符串: a b c a b c b b↑l r
哈希表: {a:1}
最大长度: 1

步骤2:右指针移动到'b'

字符串: a b c a b c b b↑ ↑l r
哈希表: {a:1, b:1}
最大长度: 2

步骤3:右指针移动到'c'

字符串: a b c a b c b b↑   ↑l   r
哈希表: {a:1, b:1, c:1}
最大长度: 3

步骤4:右指针移动到第二个'a'

字符串: a b c a b c b b↑     ↑l     r
哈希表: {a:2, b:1, c:1}

发现'a'重复,移动左指针直到窗口中'a'不重复:

字符串: a b c a b c b b↑   ↑l   r
哈希表: {a:1, b:0, c:0}
最大长度: 3

步骤5:右指针移动到第二个'b'

字符串: a b c a b c b b↑     ↑l     r
哈希表: {a:1, b:1, c:0}
最大长度: 3

 步骤6:右指针移动到第二个'c'

字符串: a b c a b c b b↑       ↑l       r
哈希表: {a:1, b:1, c:1}
最大长度: 3

 步骤7:右指针移动到第三个'b'

字符串: a b c a b c b b↑         ↑l         r
哈希表: {a:1, b:2, c:1}

'b'重复,移动左指针:

字符串: a b c a b c b b↑   ↑l   r
哈希表: {a:0, b:1, c:0}
最大长度: 3

步骤8:右指针移动到第四个'b'

字符串: a b c a b c b b↑     ↑l     r
哈希表: {a:0, b:2, c:0}

'b'重复,移动左指针:

字符串: a b c a b c b b↑ ↑l r
哈希表: {a:0, b:1, c:0}
最大长度: 3

最终结果:最大无重复子串长度为3

时间和空间复杂度

  • 时间复杂度:O(n),其中n是字符串长度。每个字符最多被访问两次(右指针遍历和左指针调整)。
  • 空间复杂度:O(min(m,n)),其中m是字符集大小,n是字符串长度。哈希表最多存储min(m,n)个字符。

正确的写法

class Solution {
public:int lengthOfLongestSubstring(string s) {unordered_map<char,int> hash;  //这里可以使用数组代替哈希表可以提高效率int left=0;int right=0;int ret=0;while(right < s.size()){hash[s[right]]++;while(hash[s[right]]>1){hash[s[left++]]--;}right++;ret = max(ret,right-left);}return ret;}
};
http://www.dtcms.com/wzjs/400332.html

相关文章:

  • 浙江住房和城乡建设网站百度知道网页版地址
  • 做网站数据库坏了阿里巴巴国际站运营
  • 厦门优秀的网站设计营销推广案例
  • 设计平台市场分析网站页面排名优化
  • 虚拟机做的网站怎么让外网访问不了网推广一个产品有哪些方式
  • 网站首页轮播图怎么换免费p站推广网站入口
  • 重庆网站建设公司有哪些百度官网下载安装
  • 做图素材网站企业软文范例
  • 网站建设与微信公众号绑定广告推广赚钱在哪接
  • 手机网站方案编写湖南官网网站推广软件
  • 个人网站备案网址石景山区百科seo
  • 营销通下载优化大师app
  • 满洲里网站建设深圳百度seo代理
  • 三方物流网站建设网页关键词排名优化
  • 大连网站设计九首选仟亿科技百度排行榜风云
  • 青岛模版网站建设哪家好网站如何进行优化
  • 网站建设复制别人文章违法吗社群营销策略有哪些
  • 做传销网站违法吗东莞网络优化排名
  • 做网站月薪百度指数资讯指数
  • 西安知名高端网站建设服务企业重庆seo网页优化
  • 一个用vue做的网站知名网站排名
  • 深圳的网站建设可以免费发广告的网站有哪些
  • 怎么做网站推广世界杯金城武重庆森林经典台词
  • 安徽省网站肥建设网站互联网营销师怎么做
  • 建站仅向商家提供技术服务企业官网怎么做
  • 京网站制作公司海南百度推广中心
  • 北京网站制作官网如何创建自己的卡网
  • 上海最好的网站是什么设计公司企业网站
  • 网站前置审批类型网络营销渠道的功能
  • 网站备案 哪个省最松想学管理方面的培训班