面试经典150题——Day31

文章目录

一、题目

3. Longest Substring Without Repeating Characters

Given a string s, find the length of the longest

substring

without repeating characters.

Example 1:

Input: s = "abcabcbb"

Output: 3

Explanation: The answer is "abc", with the length of 3.

Example 2:

Input: s = "bbbbb"

Output: 1

Explanation: The answer is "b", with the length of 1.

Example 3:

Input: s = "pwwkew"

Output: 3

Explanation: The answer is "wke", with the length of 3.

Notice that the answer must be a substring, "pwke" is a subsequence and not a substring.

Constraints:

0 <= s.length <= 5 * 104

s consists of English letters, digits, symbols and spaces.

题目来源: leetcode

二、题解

双指针+滑动窗口

cpp 复制代码
class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        int n = s.length();
        if(n == 0) return 0;
        int i = 0;
        unordered_map<char,int> map;
        map[s[i]] = 1;
        int res = 1;
        for(int j = 1;j < n;j++){
            while(map[s[j]] == 1 && i < j){
                map[s[i]] = 0;
                i++;
            }
            if(map[s[j]] != 1) map[s[j]] = 1;
            res = max(res,j - i + 1);
        }
        return res;
    }
};
相关推荐
飞鸿踏雪(蓝屏选手)3 小时前
137 ≤ Chrome 主密钥获取研究
c++·chrome·windows·网络安全·逆向分析
洛水水3 小时前
【力扣100题】18.随机链表的复制
算法·leetcode·链表
南宫萧幕3 小时前
规则基 EMS 仿真实战:SOC 区间划分与 Simulink 闭环建模全解
算法·matlab·控制
爱滑雪的码农4 小时前
Java基础十七:数据结构
数据结构
多加点辣也没关系4 小时前
数据结构与算法|第二十三章:高级数据结构
数据结构·算法
孬甭_6 小时前
初识数据结构与算法
数据结构
hoiii1876 小时前
孤立森林 (Isolation Forest) 快速异常检测系统
算法
c++之路7 小时前
适配器模式(Adapter Pattern)
java·算法·适配器模式
吴声子夜歌7 小时前
Java——接口的细节
java·开发语言·算法
myheartgo-on7 小时前
Java—方 法
java·开发语言·算法·青少年编程