首页 > 其他分享 >剑指 Offer 48. 最长不含重复字符的子字符串

剑指 Offer 48. 最长不含重复字符的子字符串

时间:2023-09-01 16:33:03浏览次数:39  
标签:map 48 Offer int max 示例 start 字符串

请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。

 

示例 1:

"abc",所以其

示例 2:

"b"

示例 3:

"wke"
"pwke"

 

提示:

  • s.length <= 40000

使用滑动窗口,哈希表来记录:

class Solution {
    public int lengthOfLongestSubstring(String s) {
        HashMap<Character, Integer> map = new HashMap<>();
        int max = 0;
        for (int i = 0,start = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            //如果重复
            if (map.containsKey(c)) {
                start = Math.max(map.get(c),start);
            }
            map.put(c,i+1);
            max = Math.max(max,i-start+1);
        }
        return max  ;
    }
}

标签:map,48,Offer,int,max,示例,start,字符串
From: https://blog.51cto.com/u_16040716/7324279

相关文章

  • 判断文件夹名称是否为日期格式字符串 判断字符串是否为日期,并且是否早于指定日期
    '''清洗工具-判断文件夹名称是否为日期格式字符串'''#写入函数代码块之前,先加载相应模块,生成相应默认参数#Falseif(x=='')or(xin[None,pd.NaT])or(type(x)!=str)#无论是否指定format,pd.to_datetime(pd.NaT)都输出NaT#无论是否指定format,pd.to_datetime(N......
  • # yyds干货盘点 # 分享一个Python字符串替换的基础题目(上篇)
    大家好,我是皮皮。一、前言前几天在Python最强王者群【莫生气】问了一个Python字符串基础处理的问题,一起来看看吧。二、实现过程这里大家对于strip()函数理解不深刻的话,很容易犯迷糊,这里答案就是输出一个字符c。因为strip会把参数ab分开来一个个的删除,如果是strs.strip('abc')会把整......
  • Python的字符串操作——总结
    总结:1.f"{变量}" 格式化一个字符串2.索引和切片:  索引:从0开始的.[]  切片:s[start:end:step],end位置的数据永远拿不到3.相关操作:  字符串操作对原字符串是不发生改变的.  1.upper()在需要忽略大小写的时候  2.strip()可以去掉字符串左右......
  • 分享一个Python字符串替换的基础题目(上篇)
    大家好,我是皮皮。一、前言前几天在Python最强王者群【莫生气】问了一个Python字符串基础处理的问题,一起来看看吧。二、实现过程这里大家对于strip()函数理解不深刻的话,很容易犯迷糊,这里答案就是输出一个字符c。因为strip会把参数ab分开来一个个的删除,如果是strs.strip('abc......
  • KMP算法--解决字符串匹配问题--模式串是否在文本串出现过
    KMP算法--解决字符串匹配问题--模式串是否在文本串出现过*利用之前判断过的信息,通过next数组保存最长公共子序列的长度*搜索词/模式串移动的位数=已匹配的字符数-对应的部分匹配值在韩的例子里ABCDABD初次匹配匹配了ABCDAB6位,对应2,所以移动6-2=4位e.g.文本串aabaabaaf......
  • 分离包含空格字符串[xe & D7]
    xevars:string;sList:TStringList;begins:='aaa,bbb,ccc,dddd,eee';sList:=TStringList.Create;sList.StrictDelimiter:=True;//Delph7无此属性sList.Delimiter:=',';sList.DelimitedText:=s;ShowMessage(sList.Tex......
  • 各个数据类型的内置方法(字符串和列表)
    各个数据类型的内置方法整形和浮点型的内置方法#1、定义:#1.1整型int的定义age=10#本质age=int(10)#1.2浮点型float的定义salary=3000.3#本质salary=float(3000.3)#注意:名字+括号的意思就是调用某个功能,比如#print(...)调用打印功能#int(...)调用创建整......
  • C语言 字符串分割
    一、简述    记--字符串分割,strtok()函数的使用例子、自己简单实现split()函数。 二、例子代码 #include<stdio.h>#include<string.h> /* *函数:split *描述:按指定分隔符分割字符串 *参数: *str:要分割的字符串 *strLen:要分割的字符串的长......
  • Educational Codeforces Round 148 (Rated for Div. 2)E. Combinatorics Problem(组合
    题目链接:https://codeforces.com/contest/1832/problem/E 题意:  当然这是化简后的题意,原题面和这个差距还是有点大的; 分析: 因为组合数有公式:  所以:   嗯,然后就没有了; 时间复杂度:O(n*k); 代码: #include<bits/stdc++.h>#defineintlonglong......
  • 【剑指Offer】剑指offer题目汇总
    【剑指Offer】剑指offer题目汇总本文为《剑指Offer》刷题笔记的总结篇,花了两个多月的时间,将牛客网上《剑指Offer》的66道题刷了一遍,以博客的形式整理了一遍,这66道题属于相对基础的算法题目,对于刷题练手是很好的实践,接下来会继续回到LeetCode,争取每天拿出一个小时,刷一到两道题。......