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;}

滑动窗口技术-最大无重复字符问题(暴力,滑动窗口,动态规划)相关推荐

  1. c++ 数组的输入遇到特定字符停止输入_滑动窗口思维--挑战“无重复字符的最长子串”

    文章来源: 饭饭的Python学习之路 作者: 一粒米饭 今天要挑战的是"无重复字符的最长子串". 难度:中等 题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 ...

  2. 利用滑动窗口法解决无重复字符的最长子串

    无重复字符的最长子串 题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最 ...

  3. LeetCode 1100. 长度为 K 的无重复字符子串(滑动窗口)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个字符串 S,找出所有长度为 K 且不含重复字符的子串,请你返回全部满足要求的子串的 数目. 示例 1: 输入:S = "havefuno ...

  4. 滑动窗口:LeetCode 3 无重复字符的最长子串

    力扣 思路:滑动窗口 窗口信息:               窗口中每个字符出现次数 用长度为128个长度的数组(ASCII码表示下标)记录字符出现次数,因为数组具有随机存储特性,所以查找的时间复杂度 ...

  5. python学习3. 无重复字符的最长子串(滑动窗口)

    makcooo 2019-04-19 15:47:32  271  收藏 分类专栏: python 版权 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: &quo ...

  6. 【LeetCode】无重复字符的最长子串【滑动窗口法】

    给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc&qu ...

  7. python最长连续子串_LeetCode 03无重复字符的最长子串(滑动窗口)

    关注.在看,回复进群打卡 题目描述 题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为 ...

  8. LeetCode精讲 03无重复字符的最长子串(滑动窗口)

    题目描述 原创作者:bigsai,维护不易,如有收获,还请点赞.收藏支持! 题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcb ...

  9. JAVA窗口sin值_大厂经典笔试题—LeetCode03无重复字符的最长子串(滑动窗口)

    题目描述 原创作者:bigsai,长期维护不易,如有收获还请点赞.收藏支持! 题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabc ...

最新文章

  1. 质数,约数(数论) AcWing算法课
  2. .net随笔-vb.net Accord.Net机器学习之贝叶斯分类
  3. 最简单的一个java驱动jdbc链接mysql数据库
  4. 高级 Linux 命令精通指南(2)
  5. 开源GraphView的使用--数据统计
  6. 可怕的乖孩子_当今的中国,有句很可怕的话:所有的乖孩子注定不幸福!
  7. character-level OCR之Character Region Awareness for Text Detection(CRAFT) 论文阅读
  8. Java render用法_SpringMVC ModelAndView的用法使用详解
  9. HTTP协议 (五) 代理
  10. python处理pdf的第三方库_Python使用到第三方库PyMuPDF图片与pdf相互转换
  11. SENSOR DVP接口介绍
  12. Picgo typora error in repo name
  13. 链家网租房信息数据分析——从爬虫到房租预测
  14. 个人简介之物理层安全
  15. 2021-09-16收集一些可以发外链的网站
  16. CentOS 8.5下安装R语言经验总结
  17. Java、计算三角形的周长
  18. 如何进阶Java之道?首先得知道层层递进的四种软件架构
  19. c51的八位智力抢答器C语言编程,基于AT89C51单片机的八位智力抢答器设计.doc
  20. 2017智慧医疗与安防产业发展研讨会圆满落幕

热门文章

  1. “Watson之眼”走出实验室,中国医疗机器人悄然崛起 | 未来医疗周刊
  2. 故宫景点功课13:御花园下
  3. 亚马逊SP广告报告解析
  4. tensorflow求分位点、中位数、第k大数
  5. Adobe Acrobat 图标异常的解决办法
  6. US-100超声波模块驱动
  7. 为什么使用来发信群发?
  8. Mysql查询添加自定义列
  9. 设计模式十五:行为型-命令模式
  10. 比心app源码,Java 单例模式