无重复字符的最长子串
题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
示例 1: 输入: "abcabcbb" 输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为3。
题目解析:建立一个256位大小的整型数组freg,用来建立字符和其出现位置之间的映射。维护一个滑动窗口,窗口内的都是没有重复的字符,去尽可能的扩大窗口的大小,窗口不停的向右滑动。
- (1)如果当前遍历到的字符从未出现过,那么直接扩大右边界;
- (2)如果当前遍历到的字符出现过,则缩小窗口(左边索引向右移动),然后继续观察当前遍历到的字符;
- (3)重复(1)(2),直到左边索引无法再移动;
- (4)维护一个结果res,每次用出现过的窗口大小来更新结果res,最后返回res获取结果。
代码实现//滑动窗口//时间复杂度: O(len(s))//空间复杂度: O(len(charset)) class Solution { public: int lengthOfLongestSubstring(string s) { int freq[256] = {0}; int l = 0, r = -1;
//滑动窗口为s[l...r] int res = 0;
// 整个循环从 l == 0; r == -1 这个空窗口开始
// 到l == s.size(); r == s.size()-1 这个空窗口截止
// 在每次循环里逐渐改变窗口, 维护freq, 并记录当前窗口中是否找到了一个新的最优值 while(l < s.size()){ if(r + 1 < s.size() && freq[s[r+1]] == 0){ r++; freq[s[r]]++; }else { //r已经到头 || freq[s[r+1]] == 1 freq[s[l]]--; l++; } res = max(res, r-l+1); } return res; } };

猜你喜欢LIKE
相关推荐HOT
更多>>
无重复字符的最长子串
题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1: 输入: "abcabcbb" 输出: 3解释: 因为无重复字符的最长子串...详情>>
2022-10-11 14:52:00
如何自定义累加器
spark提供了一个累加器用于在整个流程中额外执行一个MR任务,它可以在driver端被初始化发送给各个Task,然后在每个Task中为它添加数据,最终经...详情>>
2022-09-30 15:17:00
如何写数据
1. 客户端从zk中获取meta表位置,到对应regionServer上获取该表,或直接从缓存中读取该表。 2. 客户端从meta表中获取要写的数据存放的region和...详情>>
2022-09-26 11:24:00
spark作业的最大并行度
spark作业的最大并行度=excutor个数*每个excutor的cpu core数 但spark的当前并行度取决于task数,而task数=分区数。详情>>
2022-09-23 16:29:00
kafka的topic,partition,replica,message的理解
如果配置为2,表示除了leader节点,对于topic里的每一个partition,都会有一个额外的备份。message:实际写入Kafka中并可以被读取的消息记录。每...详情>>
2022-09-20 16:59:00丝瓜视频官方 丝瓜视频苹果版 问答更多>>
新丝瓜视频官方 适合女生学吗?
新哪家丝瓜视频官方 分析丝瓜视频苹果版 班好
新丝瓜视频官方 丝瓜视频苹果版 班需要多少钱?怎么挑选丝瓜视频官方 丝瓜视频苹果版 班
新丝瓜视频官方 丝瓜视频苹果版 班需要多少钱?丝瓜视频官方 就业方向有哪些
新丝瓜视频官方 丝瓜视频苹果版 班靠谱吗?丝瓜视频官方 发展前景怎么样
新丝瓜视频官方 分析丝瓜视频苹果版 哪里好
新丝瓜视频官方 丝瓜视频苹果版 学费多少?课程内容是什么
丝瓜视频官方 面试题库 更多>>
丝瓜视频官方 的五个V是什么?
数据及集群管理(三)
数据及集群管理(二)
数据及集群管理(一)
丝瓜视频官方 之hbase的优化读数据方面
丝瓜视频官方 之hbase的优化写入数据方面
开班信息
北京校区
- 北京校区
- 大连校区
- 广州校区
- 成都校区
- 杭州校区
- 长沙校区
- 合肥校区
- 南京校区
- 上海校区
- 深圳校区
- 武汉校区
- 郑州校区
- 西安校区
- 青岛校区
- 重庆校区
- 太原校区
- 沈阳校区
- 北京校区
- 大连校区
- 广州校区
- 成都校区
- 杭州校区
- 长沙校区
- 合肥校区
- 南京校区
- 上海校区
- 深圳校区
- 武汉校区
- 郑州校区
- 西安校区
- 青岛校区
- 重庆校区
- 太原校区
- 沈阳校区
