当前位置: 首页 > news >正文

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

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

示例 1:

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

示例 2:

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

示例 3:

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

提示:

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

 int lengthOfLongestSubstring(string s) {

        int size=s.length();

        if(size<=1)

        {

            return size;

        }

        int left=0;

        int right=1;

        vector<bool> visited(256,false);

        visited[(int)s[left]]=true;

       

        int ret=1;

        while(left<=right && right<size)

        {

            if(true == visited[(int)s[right]])

            {

                char c = s[right];

                visited[(int)s[right]]=false;

                while(left<=right &&s[left] !=c)

                {

                    visited[(int)s[left]]=false;

                    left++;

                }

                while(left<right &&s[left] ==c)

                {

                    left++;

                }

                visited[(int)s[left]]=true;

            }

            if(right-left+1>ret)

            {

                ret=right-left+1;

            }

            visited[(int)s[right]]=true;

           

            right++;

        }

        return ret;

    }

 

http://www.lryc.cn/news/197862.html

相关文章:

  • 通过SPI传输BMI160数据到nrf528xx
  • MAYA教程之建模基础命令介绍
  • 文档外发控制与安全:实现高效协作与数据安全的关键
  • 在线课堂知识系统源码系统+前端+后端完整搭建教程
  • CSS之布局系列--顶部导航栏二级菜单居中展示
  • 算法通关村第九关黄金挑战——透彻理解二叉树中序遍历的应用
  • 【算法设计与分析zxd】第7章 贪心法
  • CCF CSP认证 历年题目自练Day35
  • 应用crash时发送广播及信息
  • 【亲测可用】图像目标识别入门-利用笔记本电脑摄像头识别人脸标记出来采用深度学习模型实现
  • 数字孪生技术:煤矿运输的未来革命
  • 一些bug总结
  • 第三章 内存管理 九、基本分段存储管理方式
  • 轻重链剖分+启发式合并专题
  • IRC/ML:金融智能风控—信贷风控场景简介、两大场景(贷款场景+信用卡场景)、信用卡评分模型设计、反欺诈检测技术的简介、案例应用之详细攻略
  • 【学习笔记】RabbitMQ01:基础概念认识以及快速部署
  • Java数据结构之第二十章、手撕平衡AVL树
  • SQL 在PostgreSQL中使用SQL将多行连接成数组
  • Ajax技术实现前端开发
  • WebMail:网页注册成功发送邮件
  • Electron之集成vue+vite开发桌面程序
  • pycharm社区版创建Django项目的一种方式
  • Python configparser模块使用教程
  • Kotlin + 协程 + Room 结合使用
  • 网工记背命令(6)----链路聚合配置
  • 使用 Service 把前端连接到后端
  • vue 如何优化首页的加载速度?vue 首页白屏是什么问题引起的?如何解决呢?
  • Android平台GB28181设备接入模块之SmartGBD
  • JVM第十三讲:调试排错 - JVM 调优参数
  • Android Gradle权威指南读书笔记