首页 > 其他 > 详细

Leetcode(双指针专题)

时间:2020-03-14 18:40:12      阅读:66      评论:0      收藏:0      [点我收藏+]

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(双指针专题)

原文:https://www.cnblogs.com/Lysz1996/p/12493355.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!