Leetcode(双指针专题)
Posted Ly
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode(双指针专题)相关的知识,希望对你有一定的参考价值。
Leetcode双指针刷题记录
面试题48.最长不含重复字符的子字符
题目描述:
请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。
示例1:
输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
提示:
- s.length <= 40000
先上代码:
class Solution { public: int lengthOfLongestSubstring(string s) { unordered_map<char,int> hash; int ans = 0; for(int i = 0, j = 0; i < s.size(); i++) { hash[s[i]]++; while(hash[s[i]] > 1) { hash[s[j]] --; j++; } ans = max(ans,i - j + 1); } return ans; } };
题解思路:
双指针
i, j
来试探不重复的区间,hash
维护保证不重复。
以上是关于Leetcode(双指针专题)的主要内容,如果未能解决你的问题,请参考以下文章