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

面试经典题---3.无重复字符的最长子串

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

我的解法:

滑动窗口:

  • 维护一个[left, right)的滑动窗口,其中[left, right - 1]都是不重复子串;
  • 每轮while循环都计算一个滑动窗口的无重复子串长度len,每轮也让right后移一步;
    • 内部的for循环用于判断[left, right - 1]部分的元素与元素s[right]是否相同,一旦发现s[right]与其中某个元素相同,则窗口左端会收缩至index + 1位置,更新窗口大小len;
    • 当窗口[left, right - 1]部分的元素与元素s[right]都不相同时,将元素s[right]加入无重复子串,滑动窗口右移一步,窗口大小len加1
class Solution {
public:int lengthOfLongestSubstring(string s) {int left = 0, right = 0;int len = 0, res = 0;while(right < s.size()){char str = s[right];for(int index = left; index < right; index++){if(s[index] == str){left = index + 1;len = right - left;break;}}right++;len++;res = max(res,len);}return res;}
};

相关文章:

  • php二次开发股票系统代码:腾讯股票数据接口地址、批量获取股票信息、转换为腾讯接口指定的股票格式
  • 幻兽帕鲁服务器数据备份
  • x-cmd pkg | httpx - 为 Python 设计的下一代 HTTP 客户端库
  • 04 SB实战 -微头条之头条模块(登录验证拦截器+发布文章+修改文章)
  • 分享7种SQL的进阶用法
  • 【OCC学习23】使用Draw探索OCC API 【完结】
  • 【Py/Java/C++三种语言OD2023C卷真题】20天拿下华为OD笔试之【DP】2023C-分班【欧弟算法】全网注释最详细分类最全的华为OD真题题解
  • 基于k折交叉验证的支持向量机SVM的多分类预测,SVM的详细原理,SVM工具箱详解及注意事项
  • 【Image captioning】论文阅读七—Efficient Image Captioning for Edge Devices_AAAI2023
  • Prometheus插件安装kafka_exporter
  • [极客大挑战 2019]LoveSQL1
  • springboot优雅停机
  • SpringMVC-HttpMessageConverter 报文信息转化器
  • 基于PHP反序列化练习
  • 【SpringBoot3】Spring Boot 3.0 集成 Mybatis Plus
  • 【React系列】如何构建React应用程序
  • 2017届校招提前批面试回顾
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • css布局,左右固定中间自适应实现
  • emacs初体验
  • Git 使用集
  • JavaScript 基础知识 - 入门篇(一)
  • Java-详解HashMap
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • Redis在Web项目中的应用与实践
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 记录一下第一次使用npm
  • 驱动程序原理
  • 学习笔记TF060:图像语音结合,看图说话
  • 译自由幺半群
  • 交换综合实验一
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • ​香农与信息论三大定律
  • # centos7下FFmpeg环境部署记录
  • # 数论-逆元
  • #define
  • (HAL库版)freeRTOS移植STMF103
  • (二)hibernate配置管理
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET CF命令行调试器MDbg入门(一)
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .Net 代码性能 - (1)
  • .net 流——流的类型体系简单介绍
  • .Net下的签名与混淆
  • @Documented注解的作用
  • [ 第一章] JavaScript 简史
  • [145] 二叉树的后序遍历 js
  • [20190401]关于semtimedop函数调用.txt