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

【LeetCode】03.无重复字符的最长子串

题目要求

做题链接3.无重复字符的最长子串
在这里插入图片描述

解题思路

我们通过参考给出的输入很容易就会从每一个字符开始,看看最长能延续多长。我们通过画图发现一旦一个字符可以延续到另一个字符,那么我们就不需要考虑他中间仍然存在字符重复的问题。因此而后我们发现可以使用滑动窗口进行优化。

代码实现

class Solution 
{
public:int lengthOfLongestSubstring(string s) {//哈希表标记次数,只要26个字母使用哈希数组int hash[255]={0};//滑动窗口解决问题int left=0,right=0;//最大长度int len=0;while(right<s.size()){//进窗口hash[s[right]]++;//判断出窗口,更新结果while(left<right&&hash[s[right]]>1){//更新结果len=max(len,right-left);//出窗口hash[s[left++]]--;}right++;}//整体都是字串的情况len=max(len,right-left);return len;}
};

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • javascript利用for循环输出0-100的数
  • 针对STM32串口输出乱码错误问题
  • 心得与体会
  • JavaWeb JavaScript 9.正则表达式
  • 【匈牙利汽车产业考察,开启新机遇】
  • 学习Halcon可以从以下几个方面入手
  • 数论——中国剩余定理(CRT)
  • AI自动采集教学行为——用AI来做机器学习部分和深度学习部分(含torch和cuda)包含机器学习模型和bert模型的使用
  • 坐牢第三十五天(c++)
  • HTTP和HTTPS的区别?哪一个更适合你的网站?
  • Java核心知识体系-并发与多线程:线程基础
  • 2024.9.2
  • 中国剩余定理和扩展中国剩余定理(模板)
  • 深度学习(七)-计算机视觉基础
  • Redis从简单使用到底层原理与分布式缓存
  • CentOS 7 修改主机名
  • CSS盒模型深入
  • github从入门到放弃(1)
  • Javascripit类型转换比较那点事儿,双等号(==)
  • Java比较器对数组,集合排序
  • 从输入URL到页面加载发生了什么
  • ionic入门之数据绑定显示-1
  • 如何正确理解,内页权重高于首页?
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​Java并发新构件之Exchanger
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​学习笔记——动态路由——IS-IS中间系统到中间系统(报文/TLV)​
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • ###STL(标准模板库)
  • ###项目技术发展史
  • #ubuntu# #git# repository git config --global --add safe.directory
  • #前后端分离# 头条发布系统
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • $NOIp2018$劝退记
  • (06)金属布线——为半导体注入生命的连接
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (3)医疗图像处理:MRI磁共振成像-快速采集--(杨正汉)
  • (ZT)一个美国文科博士的YardLife
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (六)vue-router+UI组件库
  • (三)mysql_MYSQL(三)
  • (一)为什么要选择C++
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • (轉)JSON.stringify 语法实例讲解
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .net连接MySQL的方法
  • .stream().map与.stream().flatMap的使用
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • @RequestBody的使用
  • [ Linux 长征路第五篇 ] make/Makefile Linux项目自动化创建工具
  • [2023-年度总结]凡是过往,皆为序章
  • [BZOJ5125]小Q的书架(决策单调性+分治DP+树状数组)