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

17做网店网站池尾前端培训

17做网店网站池尾,前端培训,网站及微信建设是否涉及知识产权,制作动作游戏吧中文文章目录 前言一、长度最小子数组1, 题目2, 思路分析3, 代码 前言 各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: 📕 JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等 📗 Java数据结构: 顺序表, 链…

文章目录

  • 前言
  • 一、长度最小子数组
    • 1, 题目
    • 2, 思路分析
    • 3, 代码


前言

各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你:
📕 JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等
📗 Java数据结构: 顺序表, 链表, 堆, 二叉树, 二叉搜索树, 哈希表等
📘 JavaEE初阶: 多线程, 网络编程, TCP/IP协议, HTTP协议, Tomcat, Servlet, Linux, JVM等(正在持续更新)

一、长度最小子数组

1, 题目

OJ链接

一般来说, 如果我们研究的对象是 “连续的区间” 就可以考虑滑动窗口

滑动窗口其实就是"同向双指针", 滑动窗口的特点是, 前后两个指针不会回退, 并且窗口总是向前滑动, 窗口不是固定大小的, 可能边长也可能变短, 如果你在分析题目的时候发现了这些特征, 那就基本是滑动窗口的解法了


2, 思路分析

暴力解法 : 两层 for 循环, 先固定第一个字符, 然后遍历第二个字符, 每遍历到一个字符就判断是否已经出现过, 利用暴力枚举, 寻找出所有子序列

但这一定会超时, 有没有优化的方案呢?

  • 1, 使用哈希表, 定义一个 set, 用于检查当前字符是否已经出现过
  • 2 , 定义 maxLen, 用于记录目前最大长度
  • 3, 定义 left 和 right 指针, 初始位置都从0开始, left 用于标记子序列的左边界, right 用于标记子序列的右边界

前期依然是暴力枚举找到第一个满足条件的子数组, 但接下来就不需要接着暴力枚举, 如图所示

在这里插入图片描述
增大窗口对应的操作就是 right++, 缩小窗口的操作就是 left++

right 每指向一个字符, 就判断是否已经存在

  • 如果不存在, 直接增大窗口即可
  • 如果已经存在, 就 要找到 窗口中的这个已出现的字符, 并将它排除在窗口之外

需要注意的是, " 要找到 窗口中的这个已出现的字符 " 这个操作是一个循环, 但上图中没有表现出来, 如下图所示在这里插入图片描述

综上所述, 可以发现, left 和 right 指针全程没有回退, 并且窗口即会边长也会变短, 但一直在向前滑动, 这就是滑动窗口的特性


3, 代码

	public int lengthOfLongestSubstring(String s) {Set<Character> set = new HashSet<>();int left = 0;int right = 0;int maxLen = 0;while(right < s.length()){char ch = s.charAt(right);if(set.contains(ch) ){while(s.charAt(left) != ch) {set.remove(s.charAt(left));left++;}left++;}set.add(ch);maxLen = Math.max(maxLen, right - left + 1);right++;}return maxLen;}
http://www.fp688.cn/news/164875.html

相关文章:

  • php网站开发实例代码深圳网络营销全网推广
  • 北京电力交易中心史连军seo搜索引擎优化是什么
  • 专业网站建设报价网络营销图片素材
  • seo技术培训教程视频如何软件网站优化公司
  • 网站集群怎么做seo查询是什么
  • 金融网站模版网络广告投放平台
  • 做网站的属于什么行业深圳网络推广团队
  • 网站建设与管理和计算机网络技术电商运营入门基础知识
  • 谁做的新闻网站比较好东莞seo网站排名优化
  • 建筑网方成龙网站优化哪家好
  • 竭诚网络网站建设百度点击软件找名风
  • 培训如何优化网站大地seo视频
  • 机床网站建设营销型网站建设推荐
  • 河南省建设工程注册中心网站谷歌seo视频教程
  • 动漫网站做毕业设计简单吗网络整合营销4i原则
  • wordpress是动态网站代发推广百度首页包收录
  • 满屏网站设计做多大微信营销技巧
  • 桂林漓江阳朔青岛关键词推广seo
  • 武汉做网站华企加速器深圳网站推广
  • 官方网站下载12306百度人工申诉客服电话
  • 广州哪家做网站最好域名注册费用
  • 公司网站建设价格多少注册百度账号
  • 交通信用网站建设免费的个人网站怎么做
  • 公司专业网站建设泰安百度推广电话
  • 毕业设计做网站难吗内容营销平台有哪些
  • 榆林网站seo电脑培训班零基础网课
  • 三合一网站建设推广网络营销推广优化
  • 台州网站建设企业宁德市安全教育平台
  • 雄安移动网站站长工具在线平台
  • 大学生网站开发大赛百度网盘怎么用