重复字符串 leetcode_求字符串的最长无重复字符串

重复字符串 leetcode_求字符串的最长无重复字符串原题链接给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = “abcabcbb”输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。 请注意,你的答案必须是 子串 的长度,”pwk

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

原题链接给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。

示例 1:

输入: s = "abcabcbb"
输出: 3 
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
示例 2:

输入: s = "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。
示例 3:

输入: s = "pwwkew"
输出: 3
解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。
     请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。
示例 4:

输入: s = ""
输出: 0
 

提示:

0 <= s.length <= 5 * 104
s 由英文字母、数字、符号和空格组成

题解
双指针

class Solution { 
   
public:
    int lengthOfLongestSubstring(string s) { 
   
        vector<int>index(1 << 8);
        int res = 0;
        for(int i = 0,j = -1;i < s.size();i ++){ 
   
            while(j + 1< s.size() && !index[s[j + 1]])index[s[j + 1]] = 1,j ++;
            res = max(res,j - i + 1);
            index[s[i]] = 0;
        }
        return res;
    }
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168992.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 微信公众号第三方代理平台开发[通俗易懂]

    微信公众号第三方代理平台开发[通俗易懂]第一步:开发前的账号等准备第二部步:开发环境准备第三步:开发1.开发平台搭建1.公众号授权2.公众号token管理3.卡券接口转载于:https://www.cnblogs.com/JustSunh/p/6951192.html…

    2022年4月19日
    36
  • pad图和n-s图_N S W

    pad图和n-s图_N S W(未完成_N-S图、PAD图概念未写)1、记录StudentRecord给出即将大学毕业的学生的姓名和平均分(GPA)。我们的目的是建立一个参加毕业典礼的学生表。候选毕业的学生表从文件”StudRecs”读入。因为学校规定:GPA低于minGPA的学生不能毕业,因此那些平均分低于minGPA的学生不参加毕业典礼。另外,记录那些选择不参加毕业典礼的学生名单,将名单保存至文件”NoAttend”中,按每行一个学生姓名保存。删除这些选择不参加毕业典礼的学生,最终生成参加毕业典礼的学生表。2、画出下列程序流

    2022年8月13日
    3
  • bigdecimal除法运算保留两位小数_bigdecimal保留两位小数显示00

    bigdecimal除法运算保留两位小数_bigdecimal保留两位小数显示00**问题:**将两个long类型的数相除后转换为BigDecimal类型并保留两位小数。思路:1.先将long转换为double类型再相除2.相除之后再转换为BigDecimal类型3.最后是设置小数位数,并设置两位小数后面的数的处置方式。代码:longnum1=5L;longnum2=20L;BigDecimalnum=BigDecimal.valueOf((double)num1/num2).setScale(2,BigDecimal.ROUND_HALF_UP);

    2022年9月23日
    0
  • 方差分析实用分析步骤总结怎么写_方差分析的基本步骤包括哪些

    方差分析实用分析步骤总结怎么写_方差分析的基本步骤包括哪些当我们想了解不同年级的学习态度是否有区别,进而提供有针对性的教学方案,又或者分析不同职业对某产品的购买意愿是否有差异,进而根据分析结果精准投放广告。以上这些分析两个及两个数据之间的差异情况都可以使用同一种分析方法——方差分析。01.概念方差分析用于定类数据(X)与定量数据(Y)之间的差异分析,例如研究三组学生(X)的智商平均值(Y)是否有显著差异。其中X的组别数量至少为2,也可以分…

    2022年10月15日
    0
  • Android 系统 目录 分析「建议收藏」

    Android 系统 目录 分析「建议收藏」转自:hknote及Ophone8作者:Wanan.’s  及  O友今天要来分析一下Android文件系统的/system目录的结构。/system目录是在Android文件系统占有及其重要的位置,基本上所有的工具和应用程序都在这个目录下,我看来是一个真正的rootfs。他在Android手机中存放在nandflash的mtd3中,是一个yaffs2文件系统,在启动时被挂载在root

    2022年10月15日
    0
  • 如何通过SecureCRTPortable.exe 软件远程连接某个计算机(或者虚拟机)中的某个数据库…

    如何通过SecureCRTPortable.exe 软件远程连接某个计算机(或者虚拟机)中的某个数据库…1)双击SecureCRTPortable.exe-快捷方式,打开软件;2)”文件”—>”快速连接”–>弹出对话框;2.1)输入主机名(即您所想连接的计算机或虚拟机)的ip号:例如:192.168.0.1132.2)输入用户名(指的是计算机(或者是虚拟机)中的某个用户,因为一个计算机或…

    2022年5月18日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号