当前位置:网站首页>LeetCode每日两题01:滑动窗口-无重复字符的最长样子
LeetCode每日两题01:滑动窗口-无重复字符的最长样子
2022-08-06 01:58:00 【那人独钓寒江雪.】
题目如下:

代码:
- 此方法解题思路:首先需要判断字符是否存在,其次此题应用滑动窗口来解决,利用哈希表来存储字符串,设置左值和最值,循环遍历字符串,如果索引处的i值在map里面包含了,那么通过left的形式移除元素,并且往map里面传入所有的字符串, 并且返回数组长度最大值
什么是滑动窗口:其实就是一个队列,比如例题中的 abcabcbb,进入这个队列(窗口)为 abc 满足题目要求,当再进入 a,队列变成了 abca,这时候不满足要求。所以,我们要移动这个队列!如何移动?
我们只要把队列的左边的元素移出就行了,直到满足题目要求!
一直维持这样的队列,找出队列出现最长的长度时候,求出解!
class Solution {
public int lengthOfLongestSubstring(String s) {
if (s.length()==0) {
// if (s.length()==0) return 0;简写形式
return 0;
}
//s="abcabcbb"
HashMap<Character, Integer> map = new HashMap<Character, Integer>();
int max = 0;
int left = 0;
for(int i = 0; i < s.length(); i ++){
if(map.containsKey(s.charAt(i))){
//假如i取零 那么map里面包含a 0=(0,1)的最大值
left = Math.max(left,map.get(s.charAt(i)) + 1);//数组从零开始
}
map.put(s.charAt(i),i);
max = Math.max(max,i-left+1);
}
return max;
}
}
边栏推荐
- 无监督实时系统中的基于YOLOV5_DeepSort和GaitSet外形混合步态的低像素远距离多人模式识别方法
- typescript72 - Existing type declaration files (type files for third-party libraries)
- MSTP与STP
- (状压dp)最短Hamilton路径
- miniPCIe接口CAN卡为工控机快速扩展CAN通道
- ansible command 模块
- Nacos安装指南
- typescript73 - create your own type declaration files (shared types within the project)
- set(自排序)——STL
- 2022强网杯-07-30-re-GameMaster
猜你喜欢

CAN turn 4 g remote passthrough record cloud gateway for engineering machinery CAN assign

STP实验

【hiflow】-- 腾讯云场景连接器实现定时查询疫情信息

PyTorch笔记 - Attention Is All You Need (4)

CoCube群机器人预览→资讯剧透←

为什么黑客不敢攻击微信钱包?

Wasabi Technologies领导团队新增日本和澳大利亚业务高管,以支持整个亚太区对热云存储的需求

2022强网杯-07-30-re-GameMaster

使用MySQL截取JSON串,结果为null

快速查看Oracle数据库告警日志的存储位置
随机推荐
拦截器通过自定义注解来判断是否拦截
FTX交易平台收购合规加密交易所 Bitvo,打开加拿大市场
typescript71-已有的类型声明文件(内置声明类型文件)
History and Development of Character Encodings (ASCII, GBK, Unicode)
typescript72 - Existing type declaration files (type files for third-party libraries)
TS (TypeScript) Binary Operators + , - , * , / , % , << , >> , >>> , & , | , ^ Analysis
MSP430F5529(三)学习记录:芯片超频运行,超频后的串口使用
TS (TypeScript) variable type
无监督实时系统中的基于YOLOV5_DeepSort和GaitSet外形混合步态的低像素远距离多人模式识别方法
TS(TypeScript) 二元运算符 + , - , * , / , % , << , >> , >>> , & , | , ^ 分析
typescript69 - type declaration file overview
大咖说*计算讲谈社|AI 的价值探索:如何拓展商业边界?
图解 JVM 内存结构
Civil law common sense summary 1
海康威视秋招正式开始,快来和我做同事~
币圈新手指南,虚拟币交易平台哪个好
Nacos Installation Guide
海康联网网关平台级联EasyCVR出现通道无法上线现象,是什么原因?
【HCIP】BGP实验
递归,动态规划实现