滑动窗口1——无重复字符的最长字串
滑动窗口本质是一个队列,输入进入这个窗口(队列),当不满足条件时,移动这个队列;
如何移动,只需要将左边的元素移除即可,直到满足条件。
import java.util.HashSet;
import java.util.Set;public class Solution {public int lengthOfLongestSubstring(String s){//哈希集合,记录每个字符是否出现过Set<Character> occ = new HashSet<Character>();int n = s.length();int rk = -1,ans = 0;for(int i =0;i<n;++i){if (i!=0){//左指针向右移动一格,移除一个字符occ.remove(s.charAt(i-1));}while (rk+1<n&&!occ.contains(s.charAt(rk+1))){//不断地移动右指针occ.add(s.charAt(rk+1));++rk;}//第i到rk个字符是一个极长的无重复字符字串,//该循环执行该语句,对于找到下一个重复字符是没有意义的ans = Math.max(ans,rk-i+1);}return ans;}
}
滑动窗口1——无重复字符的最长字串相关推荐
- [剑指offer]面试题第[48]题[Leetcode][JAVA][第3题][无重复字符的最长字串][滑动窗口][HashSet/Map]
[问题描述][第3题][无重复字符的最长字串] 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度.示例 1:输入: "abcabcbb" 输出: 3 解释: 因为无重 ...
- python leetcode_python实现leetcode中无重复字符的最长字串
无重复字符的最长字串是一道经典的额字符串处理算法的题目,日常编程过程中,处理字符串是很多见的.用Python来实现leetcode这道算法题,这题会涉及到一个概念"滑动窗口"的概 ...
- php无重复字符的最长子串,无重复字符的最长字串问题
leetcode3:无重复字符的最长字串问题 问题描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释 ...
- LeetCode 3.无重复字符的最长字串(滑动窗口)
题目描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "a ...
- LeetCode中等题之无重复字符的最长字串
题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 &q ...
- leetcode刷题:1.无重复字符的最长字串
题目: 方法一: 首先我们可以想到暴力解法,就是 ·逐个生成字符串 ·看他受否含有重复字符 如下代码暴力法: int LenOfUniqueStr(char* Start) {int Validity ...
- 算法--无重复字符的最长字串(详细)
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度 class Solution {public int lengthOfLongestSubstring(String s) {// ...
- LeetCode-滑动窗口-3. 无重复字符的最长子串
3. 无重复字符的最长子串 思路:滑动窗口 class Solution { public:int lengthOfLongestSubstring(string s) {if(s.empty()) ...
- 力扣第三题 无重复字符的最长子串
有啥不懂的评论区可以问 ### 解题思路 双指针指向无重复字符的最长字串 而双指针构成的那部分可以看成一个滑动窗口 中间运用双for循环 外面for循环遍历整个字符串,内循环遍历整个滑动窗口 ...
最新文章
- python简单装饰器_python装饰器的简单示例
- windows命令_用Windows恢复环境(WinRE)排除电脑故障,只需一条命令
- 云南省2021高考成绩查询时间,2021云南高考成绩什么时候几点可以查
- java匹配出某单词除外_java正则匹配 指定内容以外的 内容
- 最新最全vuepress零基础搭建(github搭建+新增插件)
- C++成员函数指针的应用
- 数据结构 5-0 树与二叉树总结
- 透视宝移动端对Unity手机游戏引擎监控实现
- linux的一些软件的安装路径
- 超简单的内网邮件服务器搭建(CentOS7 postfix+dovecot)
- java视频上传,播放预览,解决苹果手机视频无法预览的问题
- 八数码问题c语言,八数码问题的可解性
- 关于Albedo贴图、颜色贴图、Metallic 贴图、Specular贴图、法线贴图、视差贴图、凹凸贴图、Height Map高度贴图、AO 贴图Occlusion 贴图、Emission 贴图等
- svc预测概率_sklearn-SVC实现与类参数
- 2022-2027年中国智能服务机器人行业发展监测及投资战略研究报告
- html5 电子白板 直播,HTML5 canvas教程 如何实现电子白板
- jetty 去掉项目名称访问
- anbox 使用情况_如何在Linux PC上启动并运行Anbox?
- js访问对方手机文件夹_Javascript读取某文件夹下的所有文件
- 【C语言】用递归编写程序计算Hermite Polynomials(厄密多项式)
热门文章
- 【C++】随机函数的使用
- 如何在oracle中查询所有用户表的表名、主键名称、索引、外键等 - Oracle 基础和管理_files...
- 安装nokogiri前提
- ICSharpCode.SharpZipLib 压缩、解压文件 附源码
- PHP arrray_filter(), array_map()区别与应用
- 洛谷P1690 贪婪的Copy 题解
- union的限制, 临时表大小的优化
- [JS+CSS] - 新浪微博滚动特效[兼容FF,Chrome和IE6,7,8]
- 正则表达式基本语法规范
- lucene案例demo