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

网站建设哪个公司好知乎不付费免费网站

网站建设哪个公司好知乎,不付费免费网站,wordpress主题演示,北京网站建设方案外包题目描述: 给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 实现逻辑: 类似于伸…

题目描述:

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

示例 1:

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

实现逻辑:

类似于伸手去一个不透光的箱子里掏带有颜色的小球,挨个将掏出的小球装进一个瓶子里,每往瓶子里装一个小球就更新一次临时最大值currentMax,当某次掏出的小球颜色在瓶子里已有,则拿一个新瓶子来装该小球,同时在Max和currentMax中选一个最大值更新Max,当箱子里已经没有小球时则表明遍历结束。

class Solution {
public:int lengthOfLongestSubstring(string s) {unordered_set<char> charSet;  // 用于存储当前窗口中的字符int left = 0;  // 滑动窗口的左边界int maxLength = 0;  // 记录最长子串的长度// 遍历字符串for (int right = 0; right < s.size(); ++right) {// 如果当前字符已在窗口中,移动左边界缩小窗口while (charSet.find(s[right]) != charSet.end()) {charSet.erase(s[left]);left++;}// 将当前字符加入窗口charSet.insert(s[right]);// 更新最大子串长度maxLength = max(maxLength, right - left + 1);}return maxLength;}
};

 代码逻辑:

代码中,用瓶子的过程可以用集合unordered_set<char> charSet;来代替,集合中每个元素只会出现一次。

如何去判断新掏出的小球颜色(新的字母元素)是否已经在瓶子(集合)中出现,用迭代器find即可,拿一个新瓶子的过程可以用

            while (charSet.find(s[right]) != charSet.end()) {charSet.erase(s[left]);left++;}

实现,假设瓶子中已经有红蓝绿三个颜色,新的小球颜色为蓝色,通过while循环,让left指向绿色小球,因为从此刻开始,不重复的连续序列应该时蓝绿,而瓶子中此时只有绿色,所以在while循环后,还需要将新颜色的小球加入瓶子中。

而后不断地更新max:     maxLength = max(maxLength, right - left + 1);

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

相关文章:

  • 济南好的网站建设公司排名经典软文
  • 政府网站建设如何做软文优化
  • 软装设计素材网站使用百度地图导航收费吗
  • 长沙创意网站建设网站优化北京seo
  • 建设网站需要问的问题品牌推广策划方案
  • macbook air做网站百度百科推广联系方式
  • 上海网页制作找哪家阳泉seo
  • 餐饮公司做网站好处百度推广关键词
  • 东营两学一做网站平面设计
  • 专业的高密做网站的网络营销模式有哪些类型
  • 微博评论箱 wordpress济南新站seo外包
  • 电视台网站建设方案.doc百度开户联系方式
  • 网站开发如何模块化联盟营销平台
  • 网站建设结构图友情链接工具
  • 网站建设报价方案模板宁波seo如何做推广平台
  • 云梦网站开发百度一下百度主页官网
  • 做网站的p什么2003chrome google
  • 税务网站建设成都seo达人
  • 晋江企业网站开发做外贸有哪些网站平台
  • 丰台住房和城乡建设委员会网站国外媒体报道
  • wordpress如何创建导航栏全达seo
  • 做别人一样的网站吗太原seo招聘
  • 东莞响应式网站seo排名快速优化
  • 如何查询网站服务商杨谦教授编的营销课程
  • 手机端企业网站怎么做百度账号登录
  • c2b平台都有哪些网站百度商店
  • 公众号编辑器96北京网站营销seo方案
  • 网站怎么做301定向网络宣传平台有哪些
  • 如何用一个域名做多个网站网络营销的目标
  • 做韩国网站网站关键词如何优化