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

【滑动窗口】LCR 016. 无重复字符的最长子串

LCR 016. 无重复字符的最长子串

解题思路

  • 窗口内的字符串就是不重复子串
  • 每次遇到新的字符 看看窗口内是否存在该字符 如果存在直接剔除 然后调整窗口左边界
  • 不存在 添加窗口内部 右边界++
class Solution {public int lengthOfLongestSubstring(String s) {if(s.length() <= 1){return s.length();}// 窗口内的字符串就是不重复子串// 每次遇到新的字符  看看窗口内是否存在该字符 如果存在直接剔除  然后调整窗口左边界// 不存在  添加窗口内部  右边界++int res = 1;int left = 0;int right = 0;Set<Character> window = new HashSet<>();while(right < s.length()){char ch = s.charAt(right);// 取出有边界字符  判断窗口内是否存在// 一直判断有边界字符  移除左边字符 直到和他冲突的左边界字符被移除为止while(window.contains(ch)){// 移除字符window.remove(s.charAt(left));//移除左边界字符left++;}res = Math.max(res,right - left + 1);window.add(ch);right++;}return res;}
}
http://www.lryc.cn/news/171294.html

相关文章:

  • C++中将类成员函数作为变量传递给函数
  • 2024届数字IC设计秋招面经-鼎信
  • 【数据结构】二叉树的节点数,叶子数,第K层节点数,高度,查找x节点,判断是否为完全二叉树等方法
  • 前馈神经网络(FFNN)和多层感知机(MLP)
  • EasySwipeMenuLayout - 独立的侧滑删除
  • 优麒麟下载、安装、体验
  • Appium混合页面点击方法tap的使用
  • 求解灰度直方图,如何绘制灰度直方图(数字图像处理大题复习 P1)
  • 8种结构型设计模式对比
  • 【PX4】Ubuntu20.04+ROS Noetic 配置PX4-v1.12.2和Gazebo11联合仿真环境【教程】
  • msvcp120.dll丢失怎么办?(五种方法快速解决)
  • eslint写jsx报错
  • 最新适合小白前端 Javascript 高级常见知识点详细教程(每周更新中)
  • 积分值和面积、对称性
  • springboot 整合es
  • MyBatisPlus使用自定义JsonTypeHandler实现自动转化JSON
  • LeetCode 2097. 合法重新排列数对【欧拉通路,DFS】2650
  • 学习笔记-接口测试(postman、jmeter)
  • 如何高效批量查询快递单号,提高工作效率?
  • 12万汉语源流词典汉字记性ACCESS\EXCEL数据库
  • 深度解剖数据在队列的应用
  • IMX6ULL移植篇-Linux内核源码目录分析二
  • 汽车行业数据治理方案,助力车企研产供销数据一体化
  • canvas-绘图库fabric.js简介
  • 代码审计——任意文件下载详解(二)
  • 19异常的学习笔记
  • Jenkins学习笔记4
  • 自学 Java 需要具备哪些基本条件或技能?
  • [激光原理与应用-68]:如何消除50Hz工频干扰和差分信号应对工频干扰
  • 【力扣-每日一题】LCP 06. 拿硬币