首页 > 其他分享 >4.无重复字符的最长子串

4.无重复字符的最长子串

时间:2023-03-07 15:22:56浏览次数:47  
标签:子串 字符 end map start ans alpha 最长

3. 无重复字符的最长子串

class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        unordered_map<char, int> map;
        int ans = 0;
        for(int start = 0, end = 0; end < s.size(); end++){
            char alpha = s[end];
            if(map.find(alpha) != map.end()){
                start = max(map[alpha], start);
            }
            ans = max(end-start+1, ans);
            map[alpha] = end+1;

        }
        return ans;
    }
};

思路:设置一个map,里面存放值以及如果遇到重复的值,start应该从哪里开始(即值的地方+1),之后每次判断遍历到的值是否重复出现,以及计算当前最大的子串个数。

标签:子串,字符,end,map,start,ans,alpha,最长
From: https://www.cnblogs.com/xhhh/p/17188220.html

相关文章

  • 字符串匹配【北京航空航天大学考研机试题】
    字符串匹配给定一个包含n个字符串的字符串数组s1,s2,…,sn和一个短字符串p,找出字符串数组中所有能够和短字符串匹配的字符串。匹配时不区分大小写,短字符串中可能包......
  • C# 字符串(String)的使用
    C#字符串(String)的使用本文主要介绍C#中字符串(String)的基础使用操作和相关方法使用(为变量分配字符串、字符串长度、字符串方法、、字符串连接、字符串格式化......
  • 02、C++字符串编码转换
    //string<——>wstring#include<codecvt>std::stringwstring2utf8string(conststd::wstring&str){staticstd::wstring_convert<std::codecvt_utf8<wchar_t>......
  • 一行代码实现统计字符串出现次数(reduce)
    上代码:  [...'aaaaabbbcccccccc'].reduce((a,b)=>(a[b]?(a[b]++):(a[b]=1),a),{})看结果:  ......
  • C字符数组和字符指针
    constchar*string="abcd";charstring[]="abcd";第一种称为字符串常量,字符串存储在常量区,由字符指针进行访问,但是不能够修改第二种是字符串数组,相当于创......
  • # yyds干货盘点 # 请教各位大佬一个问题 就是怎么用正则把字符串中小括号里面的内容取
    大家好,我是皮皮。一、前言前几天在Python最强王者交流群【群除我佬】问了一个​​Python​​正则表达式处理的问题,这里拿出来给大家分享下。二、实现过程这个还是不太难的,学......
  • 07字符串操作
    字符串(str)字符串的下标(索引)str_data="python"p y t h o n0 1 2 3 4 5-6 -5 -4 -3 -2 -1索引就是某数据在序列的位置正索引:从左至右,从0开始......
  • ubuntu设置系统字符集为中文
    第一步:查看自己系统的字符集先查看系统的默认字符集格式:locale或者cat/etc/default/localeroot@JumpServer-APP-T02:~#localeLANG=en_US.UTF-8LANGUAGE=LC_CTYPE=......
  • 数字字符转数字
    #include<stdio.h>intfun(char*s,intn){ intr=0; longres=0l; intpos=1; if(s[0]=='-') r=n-1; else r=n; for(inti=0;i<r;i++){ res......
  • 字符串排序III【北京大学考研机试题】
    字符串排序III按要求输入字符串进行排序并输出。输入格式输入包含多组测试数据。每组测试数据,第一行包含整数N,表示共有N个字符串。接下来,会将这N个字符串,按一行......