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

每日一题 LeetCode03 无重复字符的最长字串

1.题目描述

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

2 思路

 可以用两个指针, 滑动窗口的思想来做这道题,即定义两个指针.一个left和一个right

并且用一个set容器,一个length , 一个maxlength来记录,

让right往右走,并且用一个set容器来存储right走过的字符(如果容器里没有这个字符)

right每走一步就让length++, 并且和maxlength比较,如果比maxlength还大,就赋值给maxlength.

如果有这个字符,就让left往右走,找到相同的字符,就length--,并且从容器里删掉这个字符 

我们用 pwwkew来举例.

第一步: right走到没有重复的.

即 right的下标在第二个w停下,在次之前,每次都存储到set里面,并且length++ Σmaxlength比较.

第二步 left开始走,如果set里面包含的有,就一直走 并且删除吊left走过的元素,length--

第三步 返回maxlength

三 代码书写

 public int lengthOfLongestSubstring(String s) {Set<Character> set = new HashSet();int left = 0;int right = 0;int length = 0;int maxLength = 0;while (right<s.length()) {if (!set.contains(s.charAt(right))) {set.add(s.charAt(right));length++;right++;if (length > maxLength) {maxLength = length;}} else {while (set.contains(s.charAt(right))){set.remove(s.charAt(left));left++;length--;}}}return maxLength;}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 如何用Chatgpt制作流程图呢?
  • 最短路径 | 743. 网络延迟时间之 Dijkstra 算法和 Floyd 算法
  • 自己开发软件实现网站抓取m3u8链接
  • Transformer自然语言处理实战pdf阅读
  • Jvm是如何处理异常的
  • 【ESP32接入国产大模型之豆包】
  • 2024年自动驾驶SLAM面试题及答案(更新中)
  • docker文件挂载和宿主主机文件的关系
  • 【IoTDB 线上小课 05】时序数据文件 TsFile 三问“解密”!
  • 2024在线PHP加密网站源码
  • 代码随想录算法训练营第二十天|二叉树 part7
  • 香薰学习笔记
  • 云计算的三种服务模式
  • c#,NumSharp 中的 NDArray属性说明
  • BUUCTF逆向wp [MRCTF2020]Xor
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 0x05 Python数据分析,Anaconda八斩刀
  • AHK 中 = 和 == 等比较运算符的用法
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • chrome扩展demo1-小时钟
  • Docker下部署自己的LNMP工作环境
  • es的写入过程
  • HTTP请求重发
  • jquery cookie
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • Python socket服务器端、客户端传送信息
  • Spark RDD学习: aggregate函数
  • Spark学习笔记之相关记录
  • v-if和v-for连用出现的问题
  • vue数据传递--我有特殊的实现技巧
  • 从0实现一个tiny react(三)生命周期
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 官方解决所有 npm 全局安装权限问题
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 看域名解析域名安全对SEO的影响
  • 让你的分享飞起来——极光推出社会化分享组件
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 树莓派 - 使用须知
  • 算法之不定期更新(一)(2018-04-12)
  • 无服务器化是企业 IT 架构的未来吗?
  • 《天龙八部3D》Unity技术方案揭秘
  • 7行Python代码的人脸识别
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ###C语言程序设计-----C语言学习(3)#
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (9)STL算法之逆转旋转
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (Forward) Music Player: From UI Proposal to Code
  • (pycharm)安装python库函数Matplotlib步骤
  • (二)linux使用docker容器运行mysql
  • (学习总结16)C++模版2
  • (一)UDP基本编程步骤
  • (转)Google的Objective-C编码规范
  • .NET 4.0中使用内存映射文件实现进程通讯