滑动窗口技术-最大无重复字符问题(暴力,滑动窗口,动态规划)
leetcode 第三题,最长无重复的字串
返回一个字符中最大无重复字符的长度
1.暴力求解
2.线性滑动左右指针
3.跳跃滑动左指针
暴力求解忽略
线性滑动左右指针:
public int lengthOfLongestSubstringDoublePointer(String s) {int left = 0,right = 0;int res = 0;int[] map = new int[256];while(right < s.length()){if(map[s.charAt(right++)]++ == 0) {res = Math.max(res,right - left);continue;} while(map[s.charAt(right - 1)] > 1){map[s.charAt(left++)]--;}}return res;}
跳跃滑动左指针
这种实现方式有点像动态规划的思想,根据子问题的推出当前问题,
但是需要借助辅助数组(记录字符上次出现的位置)
public int lengthOfLongestSubstringDp(String s) {if(s.length() == 0) return 0;//记录上次字符出现的下标int[] last = new int[256];for(int i = 0;i < 256;i++){last[i] = -1;}int preMax = 1;last[s.charAt(0)] = 0;int res = 1;for(int i = 1;i < s.length();i++){preMax = Math.min(i - last[s.charAt(i)],preMax + 1);res = Math.max(res,preMax);last[s.charAt(i)] = i; }return res;}
滑动窗口技术-最大无重复字符问题(暴力,滑动窗口,动态规划)相关推荐
- c++ 数组的输入遇到特定字符停止输入_滑动窗口思维--挑战“无重复字符的最长子串”
文章来源: 饭饭的Python学习之路 作者: 一粒米饭 今天要挑战的是"无重复字符的最长子串". 难度:中等 题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 ...
- 利用滑动窗口法解决无重复字符的最长子串
无重复字符的最长子串 题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最 ...
- LeetCode 1100. 长度为 K 的无重复字符子串(滑动窗口)
文章目录 1. 题目 2. 解题 1. 题目 给你一个字符串 S,找出所有长度为 K 且不含重复字符的子串,请你返回全部满足要求的子串的 数目. 示例 1: 输入:S = "havefuno ...
- 滑动窗口:LeetCode 3 无重复字符的最长子串
力扣 思路:滑动窗口 窗口信息: 窗口中每个字符出现次数 用长度为128个长度的数组(ASCII码表示下标)记录字符出现次数,因为数组具有随机存储特性,所以查找的时间复杂度 ...
- python学习3. 无重复字符的最长子串(滑动窗口)
makcooo 2019-04-19 15:47:32 271 收藏 分类专栏: python 版权 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: &quo ...
- 【LeetCode】无重复字符的最长子串【滑动窗口法】
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc&qu ...
- python最长连续子串_LeetCode 03无重复字符的最长子串(滑动窗口)
关注.在看,回复进群打卡 题目描述 题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为 ...
- LeetCode精讲 03无重复字符的最长子串(滑动窗口)
题目描述 原创作者:bigsai,维护不易,如有收获,还请点赞.收藏支持! 题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcb ...
- JAVA窗口sin值_大厂经典笔试题—LeetCode03无重复字符的最长子串(滑动窗口)
题目描述 原创作者:bigsai,长期维护不易,如有收获还请点赞.收藏支持! 题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabc ...
最新文章
- 质数,约数(数论) AcWing算法课
- .net随笔-vb.net Accord.Net机器学习之贝叶斯分类
- 最简单的一个java驱动jdbc链接mysql数据库
- 高级 Linux 命令精通指南(2)
- 开源GraphView的使用--数据统计
- 可怕的乖孩子_当今的中国,有句很可怕的话:所有的乖孩子注定不幸福!
- character-level OCR之Character Region Awareness for Text Detection(CRAFT) 论文阅读
- Java render用法_SpringMVC ModelAndView的用法使用详解
- HTTP协议 (五) 代理
- python处理pdf的第三方库_Python使用到第三方库PyMuPDF图片与pdf相互转换
- SENSOR DVP接口介绍
- Picgo typora error in repo name
- 链家网租房信息数据分析——从爬虫到房租预测
- 个人简介之物理层安全
- 2021-09-16收集一些可以发外链的网站
- CentOS 8.5下安装R语言经验总结
- Java、计算三角形的周长
- 如何进阶Java之道?首先得知道层层递进的四种软件架构
- c51的八位智力抢答器C语言编程,基于AT89C51单片机的八位智力抢答器设计.doc
- 2017智慧医疗与安防产业发展研讨会圆满落幕