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

服务器和网站的关系网页和网站做哪个好用吗

服务器和网站的关系,网页和网站做哪个好用吗,seo整站优化哪家专业,三五互联做网站怎么样给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: s “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”…

给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。

示例 1:
输入: s = “abcabcbb”
输出: 3
解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。

示例 2:
输入: s = “bbbbb”
输出: 1
解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。

示例 3:
输入: s = “pwwkew”
输出: 3
解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。

请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。

提示:

0 <= s.length <= 5 * 104
s 由英文字母、数字、符号和空格组成

看到这个题目,我最先想到的是python中set(集合)是储存不重复元素的数据结构。但很快又发现了题目隐藏的心机:需要的是子串的长度,而不是子序列的长度,就像提示中说的,也就是说,我们还需要考虑“顺序”这一信息,而set是无序的。
费尽心机用set写了答案,费尽心机通过了三个测试用例,最后提交才发现还是有bug,于是放弃去看题解,发现大家都用滑动窗、双指针、哈希。
在这里插入图片描述
于是在参考了几个答案之后,有了这份答案:

class Solution(object):def lengthOfLongestSubstring(self, s):""":type s: str:rtype: int"""max_len = cur_len = left = 0check = set()for i in range(len(s)):cur_len += 1while s[i] in check:check.remove(s[left])left += 1cur_len -= 1if cur_len > max_len : max_len = cur_lencheck.add(s[i])return max_len

在代码的循环中一共有四个部分:
1.当前长度+1
2.判断重复元素,将集合中左边元素移除
3.判断最大长度和当前长度关系,储存最大长度。
4.在集合中添加新元素。

需要注意的是:这四部分的顺序十分重要。
1:这部分应该在循环的最开始执行。因为每次循环都代表尝试将一个新的字符加入子串,所以需要先假设这个字符是有效的,然后后续逻辑再判断是否需要调整。它是基于“乐观假设”的第一步,后续部分需要验证这个假设是否成立。如果发现有重复字符,后续逻辑会调整长度。
2:这部分必须紧跟在“当前长度+1”之后。因为一旦发现重复字符,就需要调整子串的左边界,同时更新当前长度。它依赖于“当前长度+1”部分的假设,因为只有在尝试加入新字符后,才可能发现重复。它会直接影响“当前长度”,因为移除左侧字符会导致子串长度减小。它为后续的“添加新元素”部分铺平道路,确保集合中没有重复字符。
3:这部分应该在“判断重复元素”之后执行。因为只有在确保当前子串没有重复字符后,才能确定当前长度是否有效。它依赖于“判断重复元素”部分的结果,因为只有在移除重复字符后,当前子串才是有效的。它是整个算法的核心目标,即找到最长的无重复子串。
4:这部分应该在“判断重复元素”之后执行。因为只有在移除重复字符后,才能安全地真正将当前字符加入集合。它同样依赖于“判断重复元素”部分的结果,因为只有在移除重复字符后,集合中才没有重复元素。它为下一次循环的“当前长度+1”部分提供基础,即集合中已经包含当前字符。

同时需要注意:
判断是否在集合内的,和加入的都是s[i](新元素),remove的是s[left](列头元素)

http://www.dtcms.com/wzjs/836721.html

相关文章:

  • 微信公众平台网站建设新闻报道晋城手机网站建设
  • 163网站视频动做网络公司排名100名
  • 中国建设银行个人信息网站宽带维修
  • 如何验证网站自己做彩票网站犯法吗
  • 建设厅网站上保存键看不见可以自己做网站这么做
  • 企业网站推广方案上海建设网站企业邮箱网站建设服务
  • 怎么做软文代发平台网站珠海建设企业网站的公司
  • 峨山网站建设公众号怎么做微网站
  • 做网站 广州网站没域名
  • 荣成住房和城乡建设部网站移动端关键词优化
  • 哪些网站可以seo襄阳市建设厅官方网站
  • 夏邑网站建设营销策划公司是做什么的
  • 网站建设责任分工表巢湖网站制作
  • 江苏中南建设集团网站是多少网站推广经验
  • 长白山开发建设集团网站合肥网站建设网站建设
  • 网站名和域名厦门装修公司排名前十
  • 怎么做有趣的短视频网站一加手机官网网站
  • 广东 网站建设 公司排名盐城seo培训
  • 东莞建设局网站网站建设补充协议
  • 网站建设公司的方案公司网站管理属于什么职位
  • 网站的内容自己如何申请域名
  • 网站规划与建设周正刚云尚网站建设
  • 广州上宏网站建设国外做游戏评测的视频网站
  • 建立网站如何规划和实施建设WordPress禁用代码编辑器
  • 合肥网站建设推荐 晨飞网络win10系统做网站
  • 经典网站设计网站做网站价格差异很大
  • 滁州哪里做网站宣传片拍摄心得体会
  • 建网站需不需要服务器怎么给网站做aap
  • 美妆企业网站模板网站有域名没备案
  • 前端设计除了做网站还能做什么海淀网站建设公司电话